Skip to content

Latest commit

 

History

History
122 lines (92 loc) · 7.19 KB

ns-spbcx-_spb_controller_config.md

File metadata and controls

122 lines (92 loc) · 7.19 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NS:spbcx._SPB_CONTROLLER_CONFIG
_SPB_CONTROLLER_CONFIG (spbcx.h)
The SPB_CONTROLLER_CONFIG structure contains the configuration settings for an SPB controller driver.
spb\spb_controller_config.htm
SPB
09/14/2021
SPB_CONTROLLER_CONFIG structure
*PSPB_CONTROLLER_CONFIG, PSPB_CONTROLLER_CONFIG, PSPB_CONTROLLER_CONFIG structure pointer [Buses], SPB.spb_controller_config, SPB_CONTROLLER_CONFIG, SPB_CONTROLLER_CONFIG structure [Buses], _SPB_CONTROLLER_CONFIG, spbcx/PSPB_CONTROLLER_CONFIG, spbcx/SPB_CONTROLLER_CONFIG
spbcx.h
Windows
Supported starting with Windows 8.
Windows
SPB_CONTROLLER_CONFIG, *PSPB_CONTROLLER_CONFIG
_SPB_CONTROLLER_CONFIG
spbcx/_SPB_CONTROLLER_CONFIG
PSPB_CONTROLLER_CONFIG
spbcx/PSPB_CONTROLLER_CONFIG
SPB_CONTROLLER_CONFIG
spbcx/SPB_CONTROLLER_CONFIG
APIRef
kbSyntax
HeaderDef
Spbcx.h
_SPB_CONTROLLER_CONFIG
PSPB_CONTROLLER_CONFIG
SPB_CONTROLLER_CONFIG

_SPB_CONTROLLER_CONFIG structure

-description

The SPB_CONTROLLER_CONFIG structure contains the configuration settings for an SPB controller driver.

-struct-fields

-field Size

The size, in bytes, of this structure. The SpbDeviceInitialize method uses this parameter value to determine which version of the structure is being used.

-field ControllerDispatchType

The dispatch type of the I/O queue for the controller driver. Set this member to either WdfIoQueueDispatchSequential or WdfIoQueueDispatchParallel, but not to WdfIoQueueDispatchManual. The SPB_CONTROLLER_CONFIG_INIT function initializes this member to its default value, WdfIoQueueDispatchSequential. For more information about these dispatch types, see Example Uses of I/O Queues.

A controller driver that operates in subordinate mode should set this member to WdfIoQueueDispatchParallel. For example, an I2C controller might be attached as a peripheral device to an SPI bus. This device acts as a master on the I2C bus, but is a subordinate on the SPI bus.

-field PowerManaged

Whether the I/O queue for the controller driver should be power-managed. Set this member to WdfTrue to indicate that the queue should be power-managed. Set this member to WdfFalse to indicate that the queue should not be power-managed. If this member is set to WdfDefault, the queue will be power-managed unless the driver calls the WdfFdoInitSetFilter method, which identifies the caller as an upper-level or lower-level filter driver. The SPB_CONTROLLER_CONFIG_INIT function initializes this member to WdfDefault.

When I/O requests are available in a power-managed queue, the framework delivers the requests to the driver only if the device is in its working (D0) state. For more information, see Power Management for I/O Queues.

-field EvtSpbTargetConnect

A pointer to the EvtSpbTargetConnect callback function. This function is implemented by the SPB controller driver. The EvtSpbTargetConnect member is optional and can be NULL.

-field EvtSpbTargetDisconnect

A pointer to the EvtSpbTargetDisconnect callback function. This function is implemented by the SPB controller driver. The EvtSpbTargetDisconnect member is optional and can be NULL.

-field EvtSpbControllerLock

The pointer to the EvtSpbControllerLock callback function. This function is implemented by the SPB controller driver. The EvtSpbControllerLock member is optional and can be NULL. For more information about the EvtSpbControllerLock function, see Handling Client-Implemented Sequences.

-field EvtSpbControllerUnlock

A pointer to the EvtSpbControllerUnlock callback function. This function is implemented by the SPB controller driver. This member is optional and can be NULL. For more information about the EvtSpbControllerUnlock function, see Handling Client-Implemented Sequences.

-field EvtSpbIoRead

A pointer to the EvtSpbControllerIoRead callback function. This function is implemented by the SPB controller driver. This member is not optional and must not be NULL.

-field EvtSpbIoWrite

A pointer to the EvtSpbControllerIoWrite callback function. This function is implemented by the SPB controller driver. This member is not optional and must not be NULL.

-field EvtSpbIoSequence

A pointer to the EvtSpbControllerIoSequence callback function. This function is implemented by the SPB controller driver. This member is not optional and must not be NULL.

-remarks

The SpbDeviceInitialize method uses the information in this structure to complete the initialization of the SPB controller. Before passing this structure to SpbDeviceInitialize, call the SPB_CONTROLLER_CONFIG_INIT function to initialize the members of this structure to their default values, and, as needed, overwrite these default values with information that is specific to your SPB controller driver.

-see-also