mirror of
https://github.com/reactos/reactos.git
synced 2024-08-05 19:11:16 +00:00
[DDK]
* Update classpnp.h annotations. svn path=/trunk/; revision=55146
This commit is contained in:
parent
b167579013
commit
90350df69a
|
@ -129,8 +129,6 @@
|
||||||
#define MEDIA_CHANGE_DEFAULT_TIME 1
|
#define MEDIA_CHANGE_DEFAULT_TIME 1
|
||||||
#define MEDIA_CHANGE_TIMEOUT_TIME 300
|
#define MEDIA_CHANGE_TIMEOUT_TIME 300
|
||||||
|
|
||||||
#define MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS 0x3b9aca00
|
|
||||||
|
|
||||||
#ifdef ALLOCATE_SRB_FROM_POOL
|
#ifdef ALLOCATE_SRB_FROM_POOL
|
||||||
|
|
||||||
#define ClasspAllocateSrb(ext) \
|
#define ClasspAllocateSrb(ext) \
|
||||||
|
@ -187,6 +185,8 @@
|
||||||
|
|
||||||
#define DEFAULT_FAILURE_PREDICTION_PERIOD 60 * 60 * 1
|
#define DEFAULT_FAILURE_PREDICTION_PERIOD 60 * 60 * 1
|
||||||
|
|
||||||
|
#define MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS (0x3b9aca00)
|
||||||
|
|
||||||
static inline ULONG CountOfSetBitsUChar(UCHAR _X)
|
static inline ULONG CountOfSetBitsUChar(UCHAR _X)
|
||||||
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
|
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
|
||||||
static inline ULONG CountOfSetBitsULong(ULONG _X)
|
static inline ULONG CountOfSetBitsULong(ULONG _X)
|
||||||
|
@ -286,139 +286,161 @@ typedef struct _CLASSPNP_SCAN_FOR_SPECIAL_INFO {
|
||||||
ULONG_PTR Data;
|
ULONG_PTR Data;
|
||||||
} CLASSPNP_SCAN_FOR_SPECIAL_INFO, *PCLASSPNP_SCAN_FOR_SPECIAL_INFO;
|
} CLASSPNP_SCAN_FOR_SPECIAL_INFO, *PCLASSPNP_SCAN_FOR_SPECIAL_INFO;
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(NTAPI *PCLASS_ERROR)(
|
(NTAPI *PCLASS_ERROR)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
_In_ PSCSI_REQUEST_BLOCK Srb,
|
||||||
NTSTATUS *Status,
|
_Out_ NTSTATUS *Status,
|
||||||
BOOLEAN *Retry);
|
_Inout_ BOOLEAN *Retry);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_ADD_DEVICE)(
|
(NTAPI *PCLASS_ADD_DEVICE)(
|
||||||
PDRIVER_OBJECT DriverObject,
|
_In_ PDRIVER_OBJECT DriverObject,
|
||||||
PDEVICE_OBJECT Pdo);
|
_In_ PDEVICE_OBJECT Pdo);
|
||||||
|
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_POWER_DEVICE)(
|
(NTAPI *PCLASS_POWER_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_START_DEVICE)(
|
(NTAPI *PCLASS_START_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_STOP_DEVICE)(
|
(NTAPI *PCLASS_STOP_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
UCHAR Type);
|
_In_ UCHAR Type);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_INIT_DEVICE)(
|
(NTAPI *PCLASS_INIT_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_ENUM_DEVICE)(
|
(NTAPI *PCLASS_ENUM_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_READ_WRITE)(
|
(NTAPI *PCLASS_READ_WRITE)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_DEVICE_CONTROL)(
|
(NTAPI *PCLASS_DEVICE_CONTROL)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_SHUTDOWN_FLUSH)(
|
(NTAPI *PCLASS_SHUTDOWN_FLUSH)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_CREATE_CLOSE)(
|
(NTAPI *PCLASS_CREATE_CLOSE)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_QUERY_ID)(
|
(NTAPI *PCLASS_QUERY_ID)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
BUS_QUERY_ID_TYPE IdType,
|
_In_ BUS_QUERY_ID_TYPE IdType,
|
||||||
PUNICODE_STRING IdString);
|
_In_ PUNICODE_STRING IdString);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_REMOVE_DEVICE)(
|
(NTAPI *PCLASS_REMOVE_DEVICE)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
UCHAR Type);
|
_In_ UCHAR Type);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(NTAPI *PCLASS_UNLOAD)(
|
(NTAPI *PCLASS_UNLOAD)(
|
||||||
PDRIVER_OBJECT DriverObject);
|
_In_ PDRIVER_OBJECT DriverObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_QUERY_PNP_CAPABILITIES)(
|
(NTAPI *PCLASS_QUERY_PNP_CAPABILITIES)(
|
||||||
PDEVICE_OBJECT PhysicalDeviceObject,
|
_In_ PDEVICE_OBJECT PhysicalDeviceObject,
|
||||||
PDEVICE_CAPABILITIES Capabilities);
|
_In_ PDEVICE_CAPABILITIES Capabilities);
|
||||||
|
|
||||||
|
_IRQL_requires_(DISPATCH_LEVEL)
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(NTAPI *PCLASS_TICK)(
|
(NTAPI *PCLASS_TICK)(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_QUERY_WMI_REGINFO_EX)(
|
(NTAPI *PCLASS_QUERY_WMI_REGINFO_EX)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
ULONG *RegFlags,
|
_Out_ ULONG *RegFlags,
|
||||||
PUNICODE_STRING Name,
|
_Out_ PUNICODE_STRING Name,
|
||||||
PUNICODE_STRING MofResourceName);
|
_Out_ PUNICODE_STRING MofResourceName);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_QUERY_WMI_REGINFO)(
|
(NTAPI *PCLASS_QUERY_WMI_REGINFO)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
ULONG *RegFlags,
|
_Out_ ULONG *RegFlags,
|
||||||
PUNICODE_STRING Name);
|
_Out_ PUNICODE_STRING Name);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_QUERY_WMI_DATABLOCK)(
|
(NTAPI *PCLASS_QUERY_WMI_DATABLOCK)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG GuidIndex,
|
_In_ ULONG GuidIndex,
|
||||||
ULONG BufferAvail,
|
_In_ ULONG BufferAvail,
|
||||||
PUCHAR Buffer);
|
_Out_writes_bytes_(BufferAvail) PUCHAR Buffer);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_SET_WMI_DATABLOCK)(
|
(NTAPI *PCLASS_SET_WMI_DATABLOCK)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG GuidIndex,
|
_In_ ULONG GuidIndex,
|
||||||
ULONG BufferSize,
|
_In_ ULONG BufferSize,
|
||||||
PUCHAR Buffer);
|
_In_reads_bytes_(BufferSize) PUCHAR Buffer);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_SET_WMI_DATAITEM)(
|
(NTAPI *PCLASS_SET_WMI_DATAITEM)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG GuidIndex,
|
_In_ ULONG GuidIndex,
|
||||||
ULONG DataItemId,
|
_In_ ULONG DataItemId,
|
||||||
ULONG BufferSize,
|
_In_ ULONG BufferSize,
|
||||||
PUCHAR Buffer);
|
_In_reads_bytes_(BufferSize) PUCHAR Buffer);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_EXECUTE_WMI_METHOD)(
|
(NTAPI *PCLASS_EXECUTE_WMI_METHOD)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG GuidIndex,
|
_In_ ULONG GuidIndex,
|
||||||
ULONG MethodId,
|
_In_ ULONG MethodId,
|
||||||
ULONG InBufferSize,
|
_In_ ULONG InBufferSize,
|
||||||
ULONG OutBufferSize,
|
_In_ ULONG OutBufferSize,
|
||||||
PUCHAR Buffer);
|
_In_reads_(_Inexpressible_(max(InBufferSize, OutBufferSize))) PUCHAR Buffer);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(NTAPI *PCLASS_WMI_FUNCTION_CONTROL)(
|
(NTAPI *PCLASS_WMI_FUNCTION_CONTROL)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG GuidIndex,
|
_In_ ULONG GuidIndex,
|
||||||
CLASSENABLEDISABLEFUNCTION Function,
|
_In_ CLASSENABLEDISABLEFUNCTION Function,
|
||||||
BOOLEAN Enable);
|
_In_ BOOLEAN Enable);
|
||||||
|
|
||||||
typedef struct _SRB_HISTORY_ITEM {
|
typedef struct _SRB_HISTORY_ITEM {
|
||||||
LARGE_INTEGER TickCountSent;
|
LARGE_INTEGER TickCountSent;
|
||||||
|
@ -431,27 +453,32 @@ typedef struct _SRB_HISTORY_ITEM {
|
||||||
|
|
||||||
typedef struct _SRB_HISTORY {
|
typedef struct _SRB_HISTORY {
|
||||||
ULONG_PTR ClassDriverUse[4];
|
ULONG_PTR ClassDriverUse[4];
|
||||||
ULONG TotalHistoryCount;
|
_Field_range_(1,30000) ULONG TotalHistoryCount;
|
||||||
ULONG UsedHistoryCount;
|
_Field_range_(0,TotalHistoryCount) ULONG UsedHistoryCount;
|
||||||
SRB_HISTORY_ITEM History[1];
|
_Field_size_part_(TotalHistoryCount, UsedHistoryCount) SRB_HISTORY_ITEM History[1];
|
||||||
} SRB_HISTORY, *PSRB_HISTORY;
|
} SRB_HISTORY, *PSRB_HISTORY;
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
typedef BOOLEAN
|
typedef BOOLEAN
|
||||||
(NTAPI *PCLASS_INTERPRET_SENSE_INFO)(
|
(NTAPI *PCLASS_INTERPRET_SENSE_INFO)(
|
||||||
PDEVICE_OBJECT Fdo,
|
_In_ PDEVICE_OBJECT Fdo,
|
||||||
PIRP OriginalRequest,
|
_In_opt_ PIRP OriginalRequest,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
_In_ PSCSI_REQUEST_BLOCK Srb,
|
||||||
UCHAR MajorFunctionCode,
|
_In_ UCHAR MajorFunctionCode,
|
||||||
ULONG IoDeviceCode,
|
_In_ ULONG IoDeviceCode,
|
||||||
ULONG PreviousRetryCount,
|
_In_ ULONG PreviousRetryCount,
|
||||||
SRB_HISTORY *RequestHistory,
|
_In_opt_ SRB_HISTORY *RequestHistory,
|
||||||
NTSTATUS *Status,
|
_Out_ NTSTATUS *Status,
|
||||||
|
_Out_ _Deref_out_range_(0,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS)
|
||||||
LONGLONG *RetryIn100nsUnits);
|
LONGLONG *RetryIn100nsUnits);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
|
_At_(RequestHistory->UsedHistoryCount, _Pre_equal_to_(RequestHistory->TotalHistoryCount)
|
||||||
|
_Out_range_(0, RequestHistory->TotalHistoryCount - 1))
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(NTAPI *PCLASS_COMPRESS_RETRY_HISTORY_DATA)(
|
(NTAPI *PCLASS_COMPRESS_RETRY_HISTORY_DATA)(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSRB_HISTORY RequestHistory);
|
_Inout_ PSRB_HISTORY RequestHistory);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
GUID Guid;
|
GUID Guid;
|
||||||
|
@ -509,16 +536,17 @@ typedef struct _FILE_OBJECT_EXTENSION {
|
||||||
} FILE_OBJECT_EXTENSION, *PFILE_OBJECT_EXTENSION;
|
} FILE_OBJECT_EXTENSION, *PFILE_OBJECT_EXTENSION;
|
||||||
|
|
||||||
typedef struct _CLASS_WORKING_SET {
|
typedef struct _CLASS_WORKING_SET {
|
||||||
ULONG Size;
|
_Field_range_(sizeof(CLASS_WORKING_SET),sizeof(CLASS_WORKING_SET)) ULONG Size;
|
||||||
ULONG XferPacketsWorkingSetMaximum;
|
_Field_range_(0,2048) ULONG XferPacketsWorkingSetMaximum;
|
||||||
ULONG XferPacketsWorkingSetMinimum;
|
_Field_range_(0,2048) ULONG XferPacketsWorkingSetMinimum;
|
||||||
} CLASS_WORKING_SET, *PCLASS_WORKING_SET;
|
} CLASS_WORKING_SET, *PCLASS_WORKING_SET;
|
||||||
|
|
||||||
typedef struct _CLASS_INTERPRET_SENSE_INFO2 {
|
typedef struct _CLASS_INTERPRET_SENSE_INFO2 {
|
||||||
|
_Field_range_(sizeof(CLASS_INTERPRET_SENSE_INFO),sizeof(CLASS_INTERPRET_SENSE_INFO))
|
||||||
ULONG Size;
|
ULONG Size;
|
||||||
ULONG HistoryCount;
|
_Field_range_(1,30000) ULONG HistoryCount;
|
||||||
PCLASS_COMPRESS_RETRY_HISTORY_DATA Compress;
|
__callback PCLASS_COMPRESS_RETRY_HISTORY_DATA Compress;
|
||||||
PCLASS_INTERPRET_SENSE_INFO Interpret;
|
__callback PCLASS_INTERPRET_SENSE_INFO Interpret;
|
||||||
} CLASS_INTERPRET_SENSE_INFO2, *PCLASS_INTERPRET_SENSE_INFO2;
|
} CLASS_INTERPRET_SENSE_INFO2, *PCLASS_INTERPRET_SENSE_INFO2;
|
||||||
|
|
||||||
C_ASSERT((MAXULONG - sizeof(SRB_HISTORY)) / 30000 >= sizeof(SRB_HISTORY_ITEM));
|
C_ASSERT((MAXULONG - sizeof(SRB_HISTORY)) / 30000 >= sizeof(SRB_HISTORY_ITEM));
|
||||||
|
@ -642,18 +670,20 @@ typedef struct _COMPLETION_CONTEXT {
|
||||||
SCSI_REQUEST_BLOCK Srb;
|
SCSI_REQUEST_BLOCK Srb;
|
||||||
} COMPLETION_CONTEXT, *PCOMPLETION_CONTEXT;
|
} COMPLETION_CONTEXT, *PCOMPLETION_CONTEXT;
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
|
_Must_inspect_result_
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInitialize(
|
ClassInitialize(
|
||||||
PVOID Argument1,
|
_In_ PVOID Argument1,
|
||||||
PVOID Argument2,
|
_In_ PVOID Argument2,
|
||||||
PCLASS_INIT_DATA InitializationData);
|
_In_ PCLASS_INIT_DATA InitializationData);
|
||||||
|
|
||||||
typedef struct _CLASS_QUERY_WMI_REGINFO_EX_LIST {
|
typedef struct _CLASS_QUERY_WMI_REGINFO_EX_LIST {
|
||||||
ULONG Size;
|
ULONG Size;
|
||||||
PCLASS_QUERY_WMI_REGINFO_EX ClassFdoQueryWmiRegInfoEx;
|
__callback PCLASS_QUERY_WMI_REGINFO_EX ClassFdoQueryWmiRegInfoEx;
|
||||||
PCLASS_QUERY_WMI_REGINFO_EX ClassPdoQueryWmiRegInfoEx;
|
__callback PCLASS_QUERY_WMI_REGINFO_EX ClassPdoQueryWmiRegInfoEx;
|
||||||
} CLASS_QUERY_WMI_REGINFO_EX_LIST, *PCLASS_QUERY_WMI_REGINFO_EX_LIST;
|
} CLASS_QUERY_WMI_REGINFO_EX_LIST, *PCLASS_QUERY_WMI_REGINFO_EX_LIST;
|
||||||
|
|
||||||
typedef struct _FUNCTIONAL_DEVICE_EXTENSION {
|
typedef struct _FUNCTIONAL_DEVICE_EXTENSION {
|
||||||
|
@ -738,50 +768,57 @@ typedef struct _FUNCTIONAL_DEVICE_EXTENSION {
|
||||||
|
|
||||||
} FUNCTIONAL_DEVICE_EXTENSION, *PFUNCTIONAL_DEVICE_EXTENSION;
|
} FUNCTIONAL_DEVICE_EXTENSION, *PFUNCTIONAL_DEVICE_EXTENSION;
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
|
_Must_inspect_result_
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInitializeEx(
|
ClassInitializeEx(
|
||||||
PDRIVER_OBJECT DriverObject,
|
_In_ PDRIVER_OBJECT DriverObject,
|
||||||
LPGUID Guid,
|
_In_ LPGUID Guid,
|
||||||
PVOID Data);
|
_In_ PVOID Data);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
|
_Must_inspect_result_
|
||||||
|
_Post_satisfies_(return <= 0)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassCreateDeviceObject(
|
ClassCreateDeviceObject(
|
||||||
PDRIVER_OBJECT DriverObject,
|
_In_ PDRIVER_OBJECT DriverObject,
|
||||||
PCCHAR ObjectNameBuffer,
|
_In_z_ PCCHAR ObjectNameBuffer,
|
||||||
PDEVICE_OBJECT LowerDeviceObject,
|
_In_ PDEVICE_OBJECT LowerDeviceObject,
|
||||||
BOOLEAN IsFdo,
|
_In_ BOOLEAN IsFdo,
|
||||||
|
_Outptr_result_nullonfailure_ _At_(*DeviceObject, __drv_allocatesMem(Mem) __drv_aliasesMem)
|
||||||
PDEVICE_OBJECT *DeviceObject);
|
PDEVICE_OBJECT *DeviceObject);
|
||||||
|
|
||||||
|
_Must_inspect_result_
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassReadDriveCapacity(
|
ClassReadDriveCapacity(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassReleaseQueue(
|
ClassReleaseQueue(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSplitRequest(
|
ClassSplitRequest(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
ULONG MaximumBytes);
|
_In_ ULONG MaximumBytes);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassDeviceControl(
|
ClassDeviceControl(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_Inout_ PIRP Irp);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -803,91 +840,93 @@ SCSIPORTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInterpretSenseInfo(
|
ClassInterpretSenseInfo(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
_In_ PSCSI_REQUEST_BLOCK Srb,
|
||||||
UCHAR MajorFunctionCode,
|
_In_ UCHAR MajorFunctionCode,
|
||||||
ULONG IoDeviceCode,
|
_In_ ULONG IoDeviceCode,
|
||||||
ULONG RetryCount,
|
_In_ ULONG RetryCount,
|
||||||
NTSTATUS *Status,
|
_Out_ NTSTATUS *Status,
|
||||||
ULONG *RetryInterval);
|
_Out_opt_ _Deref_out_range_(0,100) ULONG *RetryInterval);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendDeviceIoControlSynchronous(
|
ClassSendDeviceIoControlSynchronous(
|
||||||
ULONG IoControlCode,
|
_In_ ULONG IoControlCode,
|
||||||
PDEVICE_OBJECT TargetDeviceObject,
|
_In_ PDEVICE_OBJECT TargetDeviceObject,
|
||||||
|
_Inout_updates_opt_(_Inexpressible_(max(InputBufferLength, OutputBufferLength)))
|
||||||
PVOID Buffer,
|
PVOID Buffer,
|
||||||
ULONG InputBufferLength,
|
_In_ ULONG InputBufferLength,
|
||||||
ULONG OutputBufferLength,
|
_In_ ULONG OutputBufferLength,
|
||||||
BOOLEAN InternalDeviceIoControl,
|
_In_ BOOLEAN InternalDeviceIoControl,
|
||||||
PIO_STATUS_BLOCK IoStatus);
|
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendIrpSynchronous(
|
ClassSendIrpSynchronous(
|
||||||
PDEVICE_OBJECT TargetDeviceObject,
|
_In_ PDEVICE_OBJECT TargetDeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassForwardIrpSynchronous(
|
ClassForwardIrpSynchronous(
|
||||||
PCOMMON_DEVICE_EXTENSION CommonExtension,
|
_In_ PCOMMON_DEVICE_EXTENSION CommonExtension,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendSrbSynchronous(
|
ClassSendSrbSynchronous(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
_Inout_ PSCSI_REQUEST_BLOCK Srb,
|
||||||
PVOID BufferAddress,
|
_In_reads_bytes_opt_(BufferLength) PVOID BufferAddress,
|
||||||
ULONG BufferLength,
|
_In_ ULONG BufferLength,
|
||||||
BOOLEAN WriteToDevice);
|
_In_ BOOLEAN WriteToDevice);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendSrbAsynchronous(
|
ClassSendSrbAsynchronous(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
_Inout_ PSCSI_REQUEST_BLOCK Srb,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
PVOID BufferAddress,
|
_In_reads_bytes_opt_(BufferLength) __drv_aliasesMem PVOID BufferAddress,
|
||||||
ULONG BufferLength,
|
_In_ ULONG BufferLength,
|
||||||
BOOLEAN WriteToDevice);
|
_In_ BOOLEAN WriteToDevice);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassBuildRequest(
|
ClassBuildRequest(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassModeSense(
|
ClassModeSense(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PCHAR ModeSenseBuffer,
|
_In_reads_bytes_(Length) PCHAR ModeSenseBuffer,
|
||||||
ULONG Length,
|
_In_ ULONG Length,
|
||||||
UCHAR PageMode);
|
_In_ UCHAR PageMode);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
PVOID
|
PVOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassFindModePage(
|
ClassFindModePage(
|
||||||
PCHAR ModeSenseBuffer,
|
_In_reads_bytes_(Length) PCHAR ModeSenseBuffer,
|
||||||
ULONG Length,
|
_In_ ULONG Length,
|
||||||
UCHAR PageMode,
|
_In_ UCHAR PageMode,
|
||||||
BOOLEAN Use6Byte);
|
_In_ BOOLEAN Use6Byte);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassClaimDevice(
|
ClassClaimDevice(
|
||||||
PDEVICE_OBJECT LowerDeviceObject,
|
_In_ PDEVICE_OBJECT LowerDeviceObject,
|
||||||
BOOLEAN Release);
|
_In_ BOOLEAN Release);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -896,188 +935,204 @@ ClassInternalIoControl (
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInitializeSrbLookasideList(
|
ClassInitializeSrbLookasideList(
|
||||||
PCOMMON_DEVICE_EXTENSION CommonExtension,
|
_Inout_ PCOMMON_DEVICE_EXTENSION CommonExtension,
|
||||||
ULONG NumberElements);
|
_In_ ULONG NumberElements);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassDeleteSrbLookasideList(
|
ClassDeleteSrbLookasideList(
|
||||||
PCOMMON_DEVICE_EXTENSION CommonExtension);
|
_Inout_ PCOMMON_DEVICE_EXTENSION CommonExtension);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassQueryTimeOutRegistryValue(
|
ClassQueryTimeOutRegistryValue(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassGetDescriptor(
|
ClassGetDescriptor(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PSTORAGE_PROPERTY_ID PropertyId,
|
_In_ PSTORAGE_PROPERTY_ID PropertyId,
|
||||||
PSTORAGE_DESCRIPTOR_HEADER *Descriptor);
|
_Outptr_ PSTORAGE_DESCRIPTOR_HEADER *Descriptor);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInvalidateBusRelations(
|
ClassInvalidateBusRelations(
|
||||||
PDEVICE_OBJECT Fdo);
|
_In_ PDEVICE_OBJECT Fdo);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassMarkChildrenMissing(
|
ClassMarkChildrenMissing(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION Fdo);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION Fdo);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassMarkChildMissing(
|
ClassMarkChildMissing(
|
||||||
PPHYSICAL_DEVICE_EXTENSION PdoExtension,
|
_In_ PPHYSICAL_DEVICE_EXTENSION PdoExtension,
|
||||||
BOOLEAN AcquireChildLock);
|
_In_ BOOLEAN AcquireChildLock);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
ClassDebugPrint(
|
ClassDebugPrint(
|
||||||
CLASS_DEBUG_LEVEL DebugPrintLevel,
|
_In_ CLASS_DEBUG_LEVEL DebugPrintLevel,
|
||||||
PCCHAR DebugMessage,
|
_In_z_ PCCHAR DebugMessage,
|
||||||
...);
|
...);
|
||||||
|
|
||||||
|
__drv_aliasesMem
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
PCLASS_DRIVER_EXTENSION
|
PCLASS_DRIVER_EXTENSION
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassGetDriverExtension(
|
ClassGetDriverExtension(
|
||||||
PDRIVER_OBJECT DriverObject);
|
_In_ PDRIVER_OBJECT DriverObject);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassCompleteRequest(
|
ClassCompleteRequest(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
CCHAR PriorityBoost);
|
_In_ CCHAR PriorityBoost);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassReleaseRemoveLock(
|
ClassReleaseRemoveLock(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Tag);
|
PIRP Tag);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassAcquireRemoveLockEx(
|
ClassAcquireRemoveLockEx(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PVOID Tag,
|
PVOID Tag,
|
||||||
PCSTR File,
|
_In_ PCSTR File,
|
||||||
ULONG Line);
|
_In_ ULONG Line);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassUpdateInformationInRegistry(
|
ClassUpdateInformationInRegistry(
|
||||||
PDEVICE_OBJECT Fdo,
|
_In_ PDEVICE_OBJECT Fdo,
|
||||||
PCHAR DeviceName,
|
_In_ PCHAR DeviceName,
|
||||||
ULONG DeviceNumber,
|
_In_ ULONG DeviceNumber,
|
||||||
PINQUIRYDATA InquiryData,
|
_In_reads_bytes_opt_(InquiryDataLength) PINQUIRYDATA InquiryData,
|
||||||
ULONG InquiryDataLength);
|
_In_ ULONG InquiryDataLength);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassWmiCompleteRequest(
|
ClassWmiCompleteRequest(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
_Inout_ PIRP Irp,
|
||||||
NTSTATUS Status,
|
_In_ NTSTATUS Status,
|
||||||
ULONG BufferUsed,
|
_In_ ULONG BufferUsed,
|
||||||
CCHAR PriorityBoost);
|
_In_ CCHAR PriorityBoost);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassWmiFireEvent(
|
ClassWmiFireEvent(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
LPGUID Guid,
|
_In_ LPGUID Guid,
|
||||||
ULONG InstanceIndex,
|
_In_ ULONG InstanceIndex,
|
||||||
ULONG EventDataSize,
|
_In_ ULONG EventDataSize,
|
||||||
PVOID EventData);
|
_In_reads_bytes_(EventDataSize) PVOID EventData);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassResetMediaChangeTimer(
|
ClassResetMediaChangeTimer(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInitializeMediaChangeDetection(
|
ClassInitializeMediaChangeDetection(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PUCHAR EventPrefix);
|
_In_ PUCHAR EventPrefix);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassInitializeTestUnitPolling(
|
ClassInitializeTestUnitPolling(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
BOOLEAN AllowDriveToSleep);
|
_In_ BOOLEAN AllowDriveToSleep);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
PVPB
|
PVPB
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassGetVpb(
|
ClassGetVpb(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSpinDownPowerHandler(
|
ClassSpinDownPowerHandler(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassStopUnitPowerHandler(
|
ClassStopUnitPowerHandler(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSetFailurePredictionPoll(
|
ClassSetFailurePredictionPoll(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_Inout_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
FAILURE_PREDICTION_METHOD FailurePredictionMethod,
|
_In_ FAILURE_PREDICTION_METHOD FailurePredictionMethod,
|
||||||
ULONG PollingPeriod);
|
_In_ ULONG PollingPeriod);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassNotifyFailurePredicted(
|
ClassNotifyFailurePredicted(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PUCHAR Buffer,
|
_In_reads_bytes_(BufferSize) PUCHAR Buffer,
|
||||||
ULONG BufferSize,
|
_In_ ULONG BufferSize,
|
||||||
BOOLEAN LogError,
|
_In_ BOOLEAN LogError,
|
||||||
ULONG UniqueErrorValue,
|
_In_ ULONG UniqueErrorValue,
|
||||||
UCHAR PathId,
|
_In_ UCHAR PathId,
|
||||||
UCHAR TargetId,
|
_In_ UCHAR TargetId,
|
||||||
UCHAR Lun);
|
_In_ UCHAR Lun);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassAcquireChildLock(
|
ClassAcquireChildLock(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassReleaseChildLock(
|
ClassReleaseChildLock(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -1089,14 +1144,15 @@ ClassSignalCompletion(
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendStartUnit(
|
ClassSendStartUnit(
|
||||||
PDEVICE_OBJECT DeviceObject);
|
_In_ PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassRemoveDevice(
|
ClassRemoveDevice(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
_In_ PDEVICE_OBJECT DeviceObject,
|
||||||
UCHAR RemoveType);
|
_In_ UCHAR RemoveType);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -1110,7 +1166,7 @@ SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassCheckMediaState(
|
ClassCheckMediaState(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -1120,71 +1176,79 @@ ClassCheckVerifyComplete(
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
PVOID Context);
|
PVOID Context);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSetMediaChangeState(
|
ClassSetMediaChangeState(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
MEDIA_CHANGE_DETECTION_STATE State,
|
_In_ MEDIA_CHANGE_DETECTION_STATE State,
|
||||||
BOOLEAN Wait);
|
_In_ BOOLEAN Wait);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassEnableMediaChangeDetection(
|
ClassEnableMediaChangeDetection(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassDisableMediaChangeDetection(
|
ClassDisableMediaChangeDetection(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SCSIPORTAPI
|
SCSIPORTAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassCleanupMediaChangeDetection(
|
ClassCleanupMediaChangeDetection(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassGetDeviceParameter(
|
ClassGetDeviceParameter(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PWSTR SubkeyName,
|
_In_opt_ PWSTR SubkeyName,
|
||||||
PWSTR ParameterName,
|
_In_ PWSTR ParameterName,
|
||||||
PULONG ParameterValue);
|
_Inout_ PULONG ParameterValue);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSetDeviceParameter(
|
ClassSetDeviceParameter(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PWSTR SubkeyName,
|
_In_opt_ PWSTR SubkeyName,
|
||||||
PWSTR ParameterName,
|
_In_ PWSTR ParameterName,
|
||||||
ULONG ParameterValue);
|
_In_ ULONG ParameterValue);
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
PFILE_OBJECT_EXTENSION
|
PFILE_OBJECT_EXTENSION
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassGetFsContext(
|
ClassGetFsContext(
|
||||||
PCOMMON_DEVICE_EXTENSION CommonExtension,
|
_In_ PCOMMON_DEVICE_EXTENSION CommonExtension,
|
||||||
PFILE_OBJECT FileObject);
|
_In_ PFILE_OBJECT FileObject);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassSendNotification(
|
ClassSendNotification(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
const GUID *Guid,
|
_In_ const GUID *Guid,
|
||||||
ULONG ExtraDataSize,
|
_In_ ULONG ExtraDataSize,
|
||||||
PVOID ExtraData);
|
_In_reads_bytes_opt_(ExtraDataSize) PVOID ExtraData);
|
||||||
|
|
||||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||||
|
|
||||||
static __inline
|
static __inline
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
PORT_ALLOCATED_SENSE(
|
PORT_ALLOCATED_SENSE(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSCSI_REQUEST_BLOCK Srb)
|
_In_ PSCSI_REQUEST_BLOCK Srb)
|
||||||
{
|
{
|
||||||
return ((BOOLEAN)((TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_PORT_DRIVER_ALLOCSENSE) &&
|
return ((BOOLEAN)((TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_PORT_DRIVER_ALLOCSENSE) &&
|
||||||
TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_FREE_SENSE_BUFFER)) &&
|
TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_FREE_SENSE_BUFFER)) &&
|
||||||
|
@ -1194,8 +1258,8 @@ PORT_ALLOCATED_SENSE(
|
||||||
static __inline
|
static __inline
|
||||||
VOID
|
VOID
|
||||||
FREE_PORT_ALLOCATED_SENSE_BUFFER(
|
FREE_PORT_ALLOCATED_SENSE_BUFFER(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSCSI_REQUEST_BLOCK Srb)
|
_In_ PSCSI_REQUEST_BLOCK Srb)
|
||||||
{
|
{
|
||||||
ASSERT(TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_PORT_DRIVER_ALLOCSENSE));
|
ASSERT(TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_PORT_DRIVER_ALLOCSENSE));
|
||||||
ASSERT(TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_FREE_SENSE_BUFFER));
|
ASSERT(TEST_FLAG(Srb->SrbFlags, SRB_FLAGS_FREE_SENSE_BUFFER));
|
||||||
|
@ -1208,14 +1272,16 @@ FREE_PORT_ALLOCATED_SENSE_BUFFER(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(NTAPI *PCLASS_SCAN_FOR_SPECIAL_HANDLER)(
|
(NTAPI *PCLASS_SCAN_FOR_SPECIAL_HANDLER)(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
ULONG_PTR Data);
|
_In_ ULONG_PTR Data);
|
||||||
|
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ClassScanForSpecial(
|
ClassScanForSpecial(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
CLASSPNP_SCAN_FOR_SPECIAL_INFO DeviceList[],
|
_In_ CLASSPNP_SCAN_FOR_SPECIAL_INFO DeviceList[],
|
||||||
PCLASS_SCAN_FOR_SPECIAL_HANDLER Function);
|
_In_ PCLASS_SCAN_FOR_SPECIAL_HANDLER Function);
|
||||||
|
|
Loading…
Reference in a new issue