_SPB_REQUEST_TYPE Enumeration

The SPB_REQUEST_TYPE enumeration specifies the type of SPB operation that a client is requesting.

Syntax

typedef enum _SPB_REQUEST_TYPE {
  SpbRequestTypeUndefined         ,
  SpbRequestTypeRead              ,
  SpbRequestTypeWrite             ,
  SpbRequestTypeSequence          ,
  SpbRequestTypeLockController    ,
  SpbRequestTypeUnlockController  ,
  SpbRequestTypeLockConnection    ,
  SpbRequestTypeUnlockConnection  ,
  SpbRequestTypeOther             ,
  SpbRequestTypeMax
} SPB_REQUEST_TYPE, *PSPB_REQUEST_TYPE;

Constants

SpbRequestTypeUndefined For internal use only.
SpbRequestTypeRead A 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.
SpbRequestTypeWrite A 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.
SpbRequestTypeSequence A 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.
SpbRequestTypeLockController A 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.
SpbRequestTypeUnlockController A request to unlock the controller for the specified target device. Your SPB controller driver receives requests of this type through its EvtSpbControllerUnlock callback function.
SpbRequestTypeLockConnection A 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.
SpbRequestTypeUnlockConnection A 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.
SpbRequestTypeOther An 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.
SpbRequestTypeMax For internal use only.

Remarks

The SPB_REQUEST_PARAMETERS structure contains an SPB_REQUEST_TYPE enumeration value.

Requirements

   
Windows version Supported starting with Windows 8.
Header spbcx.h (include Spb.h)

See Also

EvtSpbControllerIoOther

EvtSpbControllerIoRead

EvtSpbControllerIoSequence

EvtSpbControllerIoWrite

EvtSpbControllerLock

EvtSpbControllerUnlock

IOCTL_SPB_LOCK_CONNECTION

IOCTL_SPB_UNLOCK_CONNECTION

SPB_REQUEST_PARAMETERS

WdfRequestGetParameters