// spbcx.h
typedef enum _SPB_REQUEST_TYPE {
SpbRequestTypeUndefined,
SpbRequestTypeRead,
SpbRequestTypeWrite,
SpbRequestTypeSequence,
SpbRequestTypeLockController,
SpbRequestTypeUnlockController,
SpbRequestTypeLockConnection,
SpbRequestTypeUnlockConnection,
SpbRequestTypeOther,
SpbRequestTypeMax
} SPB_REQUEST_TYPE, *PSPB_REQUEST_TYPE;
View the official Windows Driver Kit DDI referenceNo description available.
The SPB_REQUEST_TYPE enumeration specifies the type of SPB operation that a client is requesting.
SpbRequestTypeUndefinedFor internal use only.
SpbRequestTypeReadA read operation. The transfer direction for read data is from the target device to the client (peripheral driver). Your SPB controller driver will see requests of this type only if it registers an EvtSpbControllerIoRead callback function.
SpbRequestTypeWriteA write operation. The transfer direction for write data is from the client to the target device. Your SPB controller driver receives requests of this type only if it registers an EvtSpbControllerIoWrite callback function.
SpbRequestTypeSequenceA sequence of transfer (read and write) operations combined into a single request. Your SPB controller driver receives requests of this type only if it registers an EvtSpbControllerIoSequence callback function. Otherwise, the SPB framework extension (SpbCx) will convert an I/O transfer sequence into a series of I/O requests of type SpbRequestTypeRead and SpbRequestTypeWrite, and send these requests to the SPB controller driver's EvtSpbControllerIoRead and EvtSpbControllerIoWrite callback functions.
SpbRequestTypeLockControllerA request to lock the controller exclusively for bus transfers to or from the specified target device. Your SPB controller driver receives requests of this type only if it registers an EvtSpbControllerLock callback function.
SpbRequestTypeUnlockControllerA request to unlock the controller for the specified target device. Your SPB controller driver receives requests of this type through its EvtSpbControllerUnlock callback function.
SpbRequestTypeLockConnectionA request to lock the specified target device for exclusive use by a client. This request is handled entirely by SpbCx. Your SPB controller driver performs no processing for requests of this type. For more information, see IOCTL_SPB_LOCK_CONNECTION.
SpbRequestTypeUnlockConnectionA request to unlock the specified target device. This request is handled entirely by SpbCx. Your SPB controller driver performs no processing for requests of this type. For more information, see IOCTL_SPB_UNLOCK_CONNECTION.
SpbRequestTypeOtherAn unknown I/O control (IOCTL) request sent by a client (peripheral driver) to a target device on the bus. Call the WdfRequestGetParameters method to retrieve the parameters for this request; for this call, use the SPBREQUEST handle for the Request parameter. Your SPB controller driver receives requests of this type only if it registers an EvtSpbControllerIoOther callback function. Otherwise, SpbCx rejects unknown IOCTL requests.
SpbRequestTypeMaxFor internal use only.
The SPB_REQUEST_PARAMETERS structure contains an SPB_REQUEST_TYPE enumeration value.