* Annotate scsiwmi.h.

svn path=/trunk/; revision=59973
This commit is contained in:
Amine Khaldi 2013-09-03 12:04:47 +00:00
parent 62b8ac070f
commit 962e2b35b9

View file

@ -20,8 +20,10 @@
* *
*/ */
#ifndef __SCSIWMI_H #pragma once
#define __SCSIWMI_H
#ifndef _SCSIWMI_
#define _SCSIWMI_
#include "srb.h" #include "srb.h"
@ -50,7 +52,7 @@ typedef struct _GUID {
unsigned long Data1; unsigned long Data1;
unsigned short Data2; unsigned short Data2;
unsigned short Data3; unsigned short Data3;
unsigned char Data4[ 8 ]; unsigned char Data4[8];
} GUID; } GUID;
#endif #endif
@ -60,65 +62,77 @@ typedef struct _SCSIWMIGUIDREGINFO {
ULONG Flags; ULONG Flags;
} SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO; } SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO;
typedef UCHAR typedef
_Must_inspect_result_
UCHAR
(NTAPI *PSCSIWMI_QUERY_REGINFO)( (NTAPI *PSCSIWMI_QUERY_REGINFO)(
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
OUT PWCHAR *MofResourceName); _Out_ PWCHAR *MofResourceName);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_QUERY_DATABLOCK)( (NTAPI *PSCSIWMI_QUERY_DATABLOCK)(
IN PVOID Context, _In_ PVOID Context,
IN PSCSIWMI_REQUEST_CONTEXT DispatchContext, _In_ PSCSIWMI_REQUEST_CONTEXT DispatchContext,
IN ULONG GuidIndex, _In_ ULONG GuidIndex,
IN ULONG InstanceIndex, _In_ ULONG InstanceIndex,
IN ULONG InstanceCount, _In_ ULONG InstanceCount,
IN OUT PULONG InstanceLengthArray, _Inout_ PULONG InstanceLengthArray,
IN ULONG BufferAvail, _In_ ULONG BufferAvail,
OUT PUCHAR Buffer); _Out_writes_bytes_(BufferAvail) PUCHAR Buffer);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_SET_DATABLOCK)( (NTAPI *PSCSIWMI_SET_DATABLOCK)(
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex, _In_ ULONG GuidIndex,
IN ULONG InstanceIndex, _In_ ULONG InstanceIndex,
IN ULONG BufferSize, _In_ ULONG BufferSize,
IN PUCHAR Buffer); _In_reads_bytes_(BufferSize) PUCHAR Buffer);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_SET_DATAITEM)( (NTAPI *PSCSIWMI_SET_DATAITEM)(
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex, _In_ ULONG GuidIndex,
IN ULONG InstanceIndex, _In_ ULONG InstanceIndex,
IN ULONG DataItemId, _In_ ULONG DataItemId,
IN ULONG BufferSize, _In_ ULONG BufferSize,
IN PUCHAR Buffer); _In_reads_bytes_(BufferSize) PUCHAR Buffer);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_EXECUTE_METHOD)( (NTAPI *PSCSIWMI_EXECUTE_METHOD)(
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex, _In_ ULONG GuidIndex,
IN ULONG InstanceIndex, _In_ ULONG InstanceIndex,
IN ULONG MethodId, _In_ ULONG MethodId,
IN ULONG InBufferSize, _In_ ULONG InBufferSize,
IN ULONG OutBufferSize, _In_ ULONG OutBufferSize,
IN OUT PUCHAR Buffer); _Inout_updates_bytes_to_(InBufferSize, OutBufferSize) PUCHAR Buffer);
typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL { typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL {
ScsiWmiEventControl, ScsiWmiEventControl,
ScsiWmiDataBlockControl ScsiWmiDataBlockControl
} SCSIWMI_ENABLE_DISABLE_CONTROL; } SCSIWMI_ENABLE_DISABLE_CONTROL;
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PSCSIWMI_FUNCTION_CONTROL)( (NTAPI *PSCSIWMI_FUNCTION_CONTROL)(
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN ULONG GuidIndex, _In_ ULONG GuidIndex,
IN SCSIWMI_ENABLE_DISABLE_CONTROL Function, _In_ SCSIWMI_ENABLE_DISABLE_CONTROL Function,
IN BOOLEAN Enable); _In_ BOOLEAN Enable);
typedef struct _SCSIWMILIB_CONTEXT { typedef struct _SCSIWMILIB_CONTEXT {
ULONG GuidCount; ULONG GuidCount;
@ -131,17 +145,18 @@ typedef struct _SCSIWMILIB_CONTEXT {
PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl; PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT; } SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
BOOLEAN BOOLEAN
NTAPI NTAPI
ScsiPortWmiDispatchFunction( ScsiPortWmiDispatchFunction(
IN PSCSI_WMILIB_CONTEXT WmiLibInfo, _In_ PSCSI_WMILIB_CONTEXT WmiLibInfo,
IN UCHAR MinorFunction, _In_ UCHAR MinorFunction,
IN PVOID DeviceContext, _In_ PVOID DeviceContext,
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _In_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN PVOID DataPath, _In_ PVOID DataPath,
IN ULONG BufferSize, _In_ ULONG BufferSize,
IN PVOID Buffer); _In_ PVOID Buffer);
#define ScsiPortWmiFireAdapterEvent( \ #define ScsiPortWmiFireAdapterEvent( \
HwDeviceExtension, \ HwDeviceExtension, \
@ -178,22 +193,22 @@ SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWmiPostProcess( ScsiPortWmiPostProcess(
IN PSCSIWMI_REQUEST_CONTEXT RequestContext, _Inout_ PSCSIWMI_REQUEST_CONTEXT RequestContext,
IN UCHAR SrbStatus, _In_ UCHAR SrbStatus,
IN ULONG BufferUsed); _In_ ULONG BufferUsed);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWmiFireLogicalUnitEvent( ScsiPortWmiFireLogicalUnitEvent(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN UCHAR PathId, _In_ UCHAR PathId,
IN UCHAR TargetId, _In_ UCHAR TargetId,
IN UCHAR Lun, _In_ UCHAR Lun,
IN LPGUID Guid, _In_ LPGUID Guid,
IN ULONG InstanceIndex, _In_ ULONG InstanceIndex,
IN ULONG EventDataSize, _In_ ULONG EventDataSize,
IN PVOID EventData); _In_ PVOID EventData);
#pragma pack(pop) #pragma pack(pop)
@ -201,4 +216,4 @@ ScsiPortWmiFireLogicalUnitEvent(
} }
#endif #endif
#endif /* __SCSIWMI_H */ #endif /* _SCSIWMI_ */