// spb.h
typedef enum SPB_TRANSFER_BUFFER_FORMAT {
SpbTransferBufferFormatInvalid,
SpbTransferBufferFormatSimple,
SpbTransferBufferFormatList,
SpbTransferBufferFormatSimpleNonPaged,
SpbTransferBufferFormatMdl,
SpbTransferBufferFormatMax
} *PSPB_TRANSFER_BUFFER_FORMAT;
View the official Windows Driver Kit DDI referenceNo description available.
The SPB_TRANSFER_BUFFER_FORMAT enumeration specifies the format of the buffer that is described by an SPB_TRANSFER_BUFFER structure.
SpbTransferBufferFormatInvalidReserved for use by the operating system.
SpbTransferBufferFormatSimpleThe transfer buffer is described by a simple user-mode or kernel-mode pointer and a length.
SpbTransferBufferFormatListThe transfer buffer is described by a pointer to a list of buffers and a count of the number of buffers in the list.
SpbTransferBufferFormatSimpleNonPagedThe transfer buffer is described by a simple user-mode or kernel-mode pointer and a length. The buffer resides in non-paged memory. This format value is valid only if the client that originates the I/O request is a kernel-mode driver.
SpbTransferBufferFormatMdlThe transfer buffer is described by a pointer to an MDL. This format value is valid only if the client that originates the I/O request is a kernel-mode driver.
SpbTransferBufferFormatMaxReserved for use by the operating system.
The Format member of the SPB_TRANSFER_BUFFER structure is an SPB_TRANSFER_BUFFER_FORMAT enumeration value.