* Annotate srb.h.

svn path=/trunk/; revision=59617
This commit is contained in:
Amine Khaldi 2013-08-02 13:59:35 +00:00
parent c24918710f
commit ddb60181fe

View file

@ -288,7 +288,7 @@ typedef struct _SCSI_REQUEST_BLOCK {
ULONG SrbFlags; ULONG SrbFlags;
ULONG DataTransferLength; ULONG DataTransferLength;
ULONG TimeOutValue; ULONG TimeOutValue;
PVOID DataBuffer; _Field_size_bytes_(DataTransferLength) PVOID DataBuffer;
PVOID SenseInfoBuffer; PVOID SenseInfoBuffer;
struct _SCSI_REQUEST_BLOCK *NextSrb; struct _SCSI_REQUEST_BLOCK *NextSrb;
PVOID OriginalRequest; PVOID OriginalRequest;
@ -424,52 +424,66 @@ typedef struct _SCSI_PNP_REQUEST_BLOCK {
UCHAR Reserved4[16]; UCHAR Reserved4[16];
} SCSI_PNP_REQUEST_BLOCK, *PSCSI_PNP_REQUEST_BLOCK; } SCSI_PNP_REQUEST_BLOCK, *PSCSI_PNP_REQUEST_BLOCK;
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PHW_INITIALIZE)( (NTAPI *PHW_INITIALIZE)(
IN PVOID DeviceExtension); _In_ PVOID DeviceExtension);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PHW_STARTIO)( (NTAPI *PHW_STARTIO)(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb); _In_ PSCSI_REQUEST_BLOCK Srb);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PHW_INTERRUPT)( (NTAPI *PHW_INTERRUPT)(
IN PVOID DeviceExtension); _In_ PVOID DeviceExtension);
typedef VOID typedef VOID
(NTAPI *PHW_TIMER)( (NTAPI *PHW_TIMER)(
IN PVOID DeviceExtension); _In_ PVOID DeviceExtension);
typedef VOID typedef VOID
(NTAPI *PHW_DMA_STARTED)( (NTAPI *PHW_DMA_STARTED)(
IN PVOID DeviceExtension); _In_ PVOID DeviceExtension);
typedef ULONG typedef
_Must_inspect_result_
ULONG
(NTAPI *PHW_FIND_ADAPTER)( (NTAPI *PHW_FIND_ADAPTER)(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN PVOID HwContext, _In_ PVOID HwContext,
IN PVOID BusInformation, _In_ PVOID BusInformation,
IN PCHAR ArgumentString, _In_ PCHAR ArgumentString,
IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, _Inout_ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
OUT PBOOLEAN Again); _Out_ PBOOLEAN Again);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PHW_RESET_BUS)( (NTAPI *PHW_RESET_BUS)(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN ULONG PathId); _In_ ULONG PathId);
typedef BOOLEAN typedef
_Must_inspect_result_
BOOLEAN
(NTAPI *PHW_ADAPTER_STATE)( (NTAPI *PHW_ADAPTER_STATE)(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN PVOID Context, _In_ PVOID Context,
IN BOOLEAN SaveState); _In_ BOOLEAN SaveState);
typedef SCSI_ADAPTER_CONTROL_STATUS typedef
_Must_inspect_result_
SCSI_ADAPTER_CONTROL_STATUS
(NTAPI *PHW_ADAPTER_CONTROL)( (NTAPI *PHW_ADAPTER_CONTROL)(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN SCSI_ADAPTER_CONTROL_TYPE ControlType, _In_ SCSI_ADAPTER_CONTROL_TYPE ControlType,
IN PVOID Parameters); _In_ PVOID Parameters);
typedef enum _SCSI_NOTIFICATION_TYPE { typedef enum _SCSI_NOTIFICATION_TYPE {
RequestComplete, RequestComplete,
@ -531,185 +545,198 @@ SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortCompleteRequest( ScsiPortCompleteRequest(
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 UCHAR SrbStatus); _In_ UCHAR SrbStatus);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortConvertPhysicalAddressToUlong( ScsiPortConvertPhysicalAddressToUlong(
IN SCSI_PHYSICAL_ADDRESS Address); _In_ SCSI_PHYSICAL_ADDRESS Address);
#define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart) #define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart)
#define ScsiPortConvertPhysicalAddressToULongPtr(Address) ((ULONG_PTR)((Address).QuadPart)) #define ScsiPortConvertPhysicalAddressToULongPtr(Address) ((ULONG_PTR)((Address).QuadPart))
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
SCSI_PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
NTAPI NTAPI
ScsiPortConvertUlongToPhysicalAddress( ScsiPortConvertUlongToPhysicalAddress(
IN ULONG_PTR UlongAddress); _In_ ULONG_PTR UlongAddress);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortFlushDma( ScsiPortFlushDma(
IN PVOID DeviceExtension); _In_ PVOID DeviceExtension);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortFreeDeviceBase( ScsiPortFreeDeviceBase(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN PVOID MappedAddress); _In_ PVOID MappedAddress);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortGetBusData( ScsiPortGetBusData(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN ULONG BusDataType, _In_ ULONG BusDataType,
IN ULONG SystemIoBusNumber, _In_ ULONG SystemIoBusNumber,
IN ULONG SlotNumber, _In_ ULONG SlotNumber,
IN PVOID Buffer, _In_reads_bytes_(Length) PVOID Buffer,
IN ULONG Length); _In_ ULONG Length);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
PVOID PVOID
NTAPI NTAPI
ScsiPortGetDeviceBase( ScsiPortGetDeviceBase(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN INTERFACE_TYPE BusType, _In_ INTERFACE_TYPE BusType,
IN ULONG SystemIoBusNumber, _In_ ULONG SystemIoBusNumber,
IN SCSI_PHYSICAL_ADDRESS IoAddress, _In_ SCSI_PHYSICAL_ADDRESS IoAddress,
IN ULONG NumberOfBytes, _In_ ULONG NumberOfBytes,
IN BOOLEAN InIoSpace); _In_ BOOLEAN InIoSpace);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
PVOID PVOID
NTAPI NTAPI
ScsiPortGetLogicalUnit( ScsiPortGetLogicalUnit(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN UCHAR PathId, _In_ UCHAR PathId,
IN UCHAR TargetId, _In_ UCHAR TargetId,
IN UCHAR Lun); _In_ UCHAR Lun);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
SCSI_PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
NTAPI NTAPI
ScsiPortGetPhysicalAddress( ScsiPortGetPhysicalAddress(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, _In_ PSCSI_REQUEST_BLOCK Srb,
IN PVOID VirtualAddress, _In_ PVOID VirtualAddress,
OUT ULONG *Length); _Out_ ULONG *Length);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
PSCSI_REQUEST_BLOCK PSCSI_REQUEST_BLOCK
NTAPI NTAPI
ScsiPortGetSrb( ScsiPortGetSrb(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN UCHAR PathId, _In_ UCHAR PathId,
IN UCHAR TargetId, _In_ UCHAR TargetId,
IN UCHAR Lun, _In_ UCHAR Lun,
IN LONG QueueTag); _In_ LONG QueueTag);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
PVOID PVOID
NTAPI NTAPI
ScsiPortGetUncachedExtension( ScsiPortGetUncachedExtension(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN PPORT_CONFIGURATION_INFORMATION ConfigInfo, _In_ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
IN ULONG NumberOfBytes); _In_ ULONG NumberOfBytes);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
PVOID PVOID
NTAPI NTAPI
ScsiPortGetVirtualAddress( ScsiPortGetVirtualAddress(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN SCSI_PHYSICAL_ADDRESS PhysicalAddress); _In_ SCSI_PHYSICAL_ADDRESS PhysicalAddress);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortInitialize( ScsiPortInitialize(
IN PVOID Argument1, _In_ PVOID Argument1,
IN PVOID Argument2, _In_ PVOID Argument2,
IN struct _HW_INITIALIZATION_DATA *HwInitializationData, _In_ struct _HW_INITIALIZATION_DATA *HwInitializationData,
IN PVOID HwContext OPTIONAL); _In_ PVOID HwContext);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortIoMapTransfer( ScsiPortIoMapTransfer(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb, _In_ PSCSI_REQUEST_BLOCK Srb,
IN PVOID LogicalAddress, _In_ PVOID LogicalAddress,
IN ULONG Length); _In_ ULONG Length);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortLogError( ScsiPortLogError(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, _In_opt_ PSCSI_REQUEST_BLOCK Srb,
IN UCHAR PathId, _In_ UCHAR PathId,
IN UCHAR TargetId, _In_ UCHAR TargetId,
IN UCHAR Lun, _In_ UCHAR Lun,
IN ULONG ErrorCode, _In_ ULONG ErrorCode,
IN ULONG UniqueId); _In_ ULONG UniqueId);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
__cdecl __cdecl
ScsiPortNotification( ScsiPortNotification(
IN SCSI_NOTIFICATION_TYPE NotificationType, _In_ SCSI_NOTIFICATION_TYPE NotificationType,
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN ...); ...);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortQuerySystemTime( ScsiPortQuerySystemTime(
OUT PLARGE_INTEGER CurrentTime); _Out_ PLARGE_INTEGER CurrentTime);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortSetBusDataByOffset( ScsiPortSetBusDataByOffset(
IN PVOID DeviceExtension, _In_ PVOID DeviceExtension,
IN ULONG BusDataType, _In_ ULONG BusDataType,
IN ULONG SystemIoBusNumber, _In_ ULONG SystemIoBusNumber,
IN ULONG SlotNumber, _In_ ULONG SlotNumber,
IN PVOID Buffer, _In_reads_bytes_(Length) PVOID Buffer,
IN ULONG Offset, _In_ ULONG Offset,
IN ULONG Length); _In_ ULONG Length);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortStallExecution( ScsiPortStallExecution(
IN ULONG Delay); _In_ ULONG Delay);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
BOOLEAN BOOLEAN
NTAPI NTAPI
ScsiPortValidateRange( ScsiPortValidateRange(
IN PVOID HwDeviceExtension, _In_ PVOID HwDeviceExtension,
IN INTERFACE_TYPE BusType, _In_ INTERFACE_TYPE BusType,
IN ULONG SystemIoBusNumber, _In_ ULONG SystemIoBusNumber,
IN SCSI_PHYSICAL_ADDRESS IoAddress, _In_ SCSI_PHYSICAL_ADDRESS IoAddress,
IN ULONG NumberOfBytes, _In_ ULONG NumberOfBytes,
IN BOOLEAN InIoSpace); _In_ BOOLEAN InIoSpace);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
__cdecl __cdecl
ScsiDebugPrint( ScsiDebugPrint(
IN ULONG DebugPrintLevel, ULONG DebugPrintLevel,
IN PCCHAR DebugMessage, PCCHAR DebugMessage,
IN ...); ...);
#if defined(_M_AMD64) #if defined(_M_AMD64)
@ -749,187 +776,193 @@ ScsiDebugPrint(
#else #else
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
UCHAR UCHAR
NTAPI NTAPI
ScsiPortReadPortUchar( ScsiPortReadPortUchar(
IN PUCHAR Port); _In_ PUCHAR Port);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortReadPortUlong( ScsiPortReadPortUlong(
IN PULONG Port); _In_ PULONG Port);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
USHORT USHORT
NTAPI NTAPI
ScsiPortReadPortUshort( ScsiPortReadPortUshort(
IN PUSHORT Port); _In_ PUSHORT Port);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadPortBufferUchar( ScsiPortReadPortBufferUchar(
IN PUCHAR Port, _In_ PUCHAR Port,
IN PUCHAR Buffer, _In_ PUCHAR Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadPortBufferUlong( ScsiPortReadPortBufferUlong(
IN PULONG Port, _In_ PULONG Port,
IN PULONG Buffer, _In_ PULONG Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadPortBufferUshort( ScsiPortReadPortBufferUshort(
IN PUSHORT Port, _In_ PUSHORT Port,
IN PUSHORT Buffer, _In_ PUSHORT Buffer,
IN ULONG Count); _In_ ULONG Count);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
UCHAR UCHAR
NTAPI NTAPI
ScsiPortReadRegisterUchar( ScsiPortReadRegisterUchar(
IN PUCHAR Register); _In_ PUCHAR Register);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
ULONG ULONG
NTAPI NTAPI
ScsiPortReadRegisterUlong( ScsiPortReadRegisterUlong(
IN PULONG Register); _In_ PULONG Register);
_Must_inspect_result_
SCSIPORTAPI SCSIPORTAPI
USHORT USHORT
NTAPI NTAPI
ScsiPortReadRegisterUshort( ScsiPortReadRegisterUshort(
IN PUSHORT Register); _In_ PUSHORT Register);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadRegisterBufferUchar( ScsiPortReadRegisterBufferUchar(
IN PUCHAR Register, _In_ PUCHAR Register,
IN PUCHAR Buffer, _In_ PUCHAR Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadRegisterBufferUlong( ScsiPortReadRegisterBufferUlong(
IN PULONG Register, _In_ PULONG Register,
IN PULONG Buffer, _In_ PULONG Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortReadRegisterBufferUshort( ScsiPortReadRegisterBufferUshort(
IN PUSHORT Register, _In_ PUSHORT Register,
IN PUSHORT Buffer, _In_ PUSHORT Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortUchar( ScsiPortWritePortUchar(
IN PUCHAR Port, _In_ PUCHAR Port,
IN UCHAR Value); _In_ UCHAR Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortUlong( ScsiPortWritePortUlong(
IN PULONG Port, _In_ PULONG Port,
IN ULONG Value); _In_ ULONG Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortUshort( ScsiPortWritePortUshort(
IN PUSHORT Port, _In_ PUSHORT Port,
IN USHORT Value); _In_ USHORT Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortBufferUchar( ScsiPortWritePortBufferUchar(
IN PUCHAR Port, _In_ PUCHAR Port,
IN PUCHAR Buffer, _In_ PUCHAR Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortBufferUlong( ScsiPortWritePortBufferUlong(
IN PULONG Port, _In_ PULONG Port,
IN PULONG Buffer, _In_ PULONG Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWritePortBufferUshort( ScsiPortWritePortBufferUshort(
IN PUSHORT Port, _In_ PUSHORT Port,
IN PUSHORT Buffer, _In_ PUSHORT Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterUchar( ScsiPortWriteRegisterUchar(
IN PUCHAR Register, _In_ PUCHAR Register,
IN UCHAR Value); _In_ UCHAR Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterUlong( ScsiPortWriteRegisterUlong(
IN PULONG Register, _In_ PULONG Register,
IN ULONG Value); _In_ ULONG Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterUshort( ScsiPortWriteRegisterUshort(
IN PUSHORT Register, _In_ PUSHORT Register,
IN USHORT Value); _In_ USHORT Value);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterBufferUchar( ScsiPortWriteRegisterBufferUchar(
IN PUCHAR Register, _In_ PUCHAR Register,
IN PUCHAR Buffer, _In_ PUCHAR Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterBufferUlong( ScsiPortWriteRegisterBufferUlong(
IN PULONG Register, _In_ PULONG Register,
IN PULONG Buffer, _In_ PULONG Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortWriteRegisterBufferUshort( ScsiPortWriteRegisterBufferUshort(
IN PUSHORT Register, _In_ PUSHORT Register,
IN PUSHORT Buffer, _In_ PUSHORT Buffer,
IN ULONG Count); _In_ ULONG Count);
SCSIPORTAPI SCSIPORTAPI
VOID VOID
NTAPI NTAPI
ScsiPortMoveMemory( ScsiPortMoveMemory(
IN PVOID WriteBuffer, _In_ PVOID WriteBuffer,
IN PVOID ReadBuffer, _In_ PVOID ReadBuffer,
IN ULONG Length); _In_ ULONG Length);
#endif /* defined(_M_AMD64) */ #endif /* defined(_M_AMD64) */