105 Srb->NumSrbExData = NumSrbExData;
108 if (NumSrbExData > 0) {
195 srbExData->Type =
type;
196 srbExData->Length = srbExDataLength;
284 ULONG sizeNeeded = 0;
291 if (NumSrbExData > 0) {
292 sizeNeeded += ((NumSrbExData - 1) *
sizeof(
ULONG));
293 if (sizeNeeded %
sizeof(
PVOID)) {
294 sizeNeeded += (
sizeof(
PVOID) - (sizeNeeded %
sizeof(
PVOID)));
363 #pragma prefast(suppress:26015, "pInitializeStorageRequestBlock will set the SrbLength field") #define STOR_ADDRESS_TYPE_BTL8
NTSTATUS InitializeStorageRequestBlock(_Inout_bytecount_(ByteSize) PSTORAGE_REQUEST_BLOCK Srb, _In_ USHORT AddressType, _In_ ULONG ByteSize, _In_ ULONG NumSrbExData,...)
struct SRB_ALIGN _SRBEX_DATA_BIDIRECTIONAL SRBEX_DATA_BIDIRECTIONAL
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB32 SRBEX_DATA_SCSI_CDB32
struct SRB_ALIGN _SRBEX_DATA_WMI SRBEX_DATA_WMI
#define STATUS_INSUFFICIENT_RESOURCES
enum _SRBEXDATATYPE SRBEXDATATYPE
_In_ PSCSI_REQUEST_BLOCK Srb
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB_VAR SRBEX_DATA_SCSI_CDB_VAR
struct STOR_ADDRESS_ALIGN _STOR_ADDRESS * PSTOR_ADDRESS
#define STORAGE_REQUEST_BLOCK_VERSION_1
#define SRBEX_DATA_WMI_LENGTH
#define STATUS_INVALID_PARAMETER
#define SRBEX_DATA_PNP_LENGTH
struct SRB_ALIGN _SRBEX_DATA * PSRBEX_DATA
struct SRB_ALIGN _SRBEX_DATA_POWER SRBEX_DATA_POWER
struct SRB_ALIGN _SRBEX_DATA_PNP SRBEX_DATA_PNP
#define SRBEX_DATA_SCSI_CDB32_LENGTH
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB16 SRBEX_DATA_SCSI_CDB16
GLenum GLuint GLenum GLsizei length
#define STOR_ADDR_BTL8_ADDRESS_LENGTH
struct SRB_ALIGN _SRBEX_DATA_IO_INFO SRBEX_DATA_IO_INFO
NTSTATUS pInitializeStorageRequestBlock(_Inout_bytecount_(ByteSize) PSTORAGE_REQUEST_BLOCK Srb, _In_ USHORT AddressType, _In_ ULONG ByteSize, _In_ ULONG NumSrbExData, _In_ va_list ap)
#define SRBEX_DATA_BIDIRECTIONAL_LENGTH
PVOID(* PSRB_ALLOCATE_ROUTINE)(_In_ CLONG ByteSize)
NTSTATUS CreateStorageRequestBlock(_Inout_ PSTORAGE_REQUEST_BLOCK *Srb, _In_ USHORT AddressType, _In_opt_ PSRB_ALLOCATE_ROUTINE AllocateRoutine, _Inout_opt_ ULONG *ByteSize, _In_ ULONG NumSrbExData,...)
#define STORAGE_ADDRESS_TYPE_BTL8
#define ExAllocatePoolWithTag(hernya, size, tag)
#define SRB_FUNCTION_STORAGE_REQUEST_BLOCK
#define SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN
PVOID DefaultStorageRequestBlockAllocateRoutine(_In_ CLONG ByteSize)
_In_ ULONG _Inout_bytecount_(cj) DRVENABLEDATA *pded)
#define SRBEX_DATA_POWER_LENGTH
#define STATUS_BUFFER_OVERFLOW
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define FIELD_OFFSET(t, f)
struct STOR_ADDRESS_ALIGN _STOR_ADDR_BTL8 STOR_ADDR_BTL8
void int int ULONGLONG int va_list * ap
#define RtlZeroMemory(Destination, Length)
GLuint GLuint GLsizei GLenum type
_In_ PRTL_GENERIC_COMPARE_ROUTINE _In_ PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine
static const WCHAR Signature[]
_IRQL_requires_same_ _In_ CLONG ByteSize
static SERVICE_STATUS status
#define SRBEX_DATA_SCSI_CDB16_LENGTH
#define SRBEX_DATA_IO_INFO_LENGTH