// sercx.h
typedef struct _SERCX_CONFIG {
ULONG Size;
WDF_TRI_STATE PowerManaged;
PFN_SERCX_FILEOPEN EvtSerCxFileOpen;
PFN_SERCX_FILECLOSE EvtSerCxFileClose;
PFN_SERCX_FILECLEANUP EvtSerCxFileCleanup;
PFN_SERCX_TRANSMIT EvtSerCxTransmit;
PFN_SERCX_RECEIVE EvtSerCxReceive;
PFN_SERCX_WAITMASK EvtSerCxWaitmask;
PFN_SERCX_PURGE EvtSerCxPurge;
PFN_SERCX_CONTROL EvtSerCxControl;
PFN_SERCX_APPLY_CONFIG EvtSerCxApplyConfig;
PFN_SERCX_TRANSMIT_CANCEL EvtSerCxTransmitCancel;
PFN_SERCX_RECEIVE_CANCEL EvtSerCxReceiveCancel;
} SERCX_CONFIG, *PSERCX_CONFIG;
View the official Windows Driver Kit DDI referenceNo description available.
The SERCX_CONFIG structure contains configuration information for the serial framework extension (SerCx).
SizeThe size, in bytes, of this structure. The SerCxInitialize method uses this member to determine which version of the structure the caller is using. The size of this structure might change in future versions of the Sercx.h header file.
PowerManagedWhether the controller queue should be power-managed. If set to WdfTrue, the controller queue should be power-managed. If set to WdfFalse, the controller queue not be power-managed. If set to WdfDefault, the controller queue should be power-managed unless the driver calls the WdfFdoInitSetFilter method. For more information, see the description of the PowerManaged member in WDF_IO_QUEUE_CONFIG.
EvtSerCxFileOpenA pointer to the controller driver's EvtSerCxFileOpen callback function. This member is optional and can be set to NULL.
EvtSerCxFileCloseA pointer to the controller driver's EvtSerCxFileClose callback function. This member is optional and can be set to NULL.
EvtSerCxFileCleanupA pointer to the controller driver's EvtSerCxFileCleanup callback function. This member is optional and can be set to NULL.
EvtSerCxTransmitA pointer to the controller driver's EvtSerCxTransmit callback function. This member is required to point to a valid callback function.
EvtSerCxReceiveA pointer to the controller driver's EvtSerCxReceive callback function. This member is required to point to a valid callback function.
EvtSerCxWaitmaskA pointer to the controller driver's EvtSerCxWaitmask callback function. This member is required to point to a valid callback function.
EvtSerCxPurgeA pointer to the controller driver's EvtSerCxPurge callback function. This member is optional and can be set to NULL.
EvtSerCxControlA pointer to the controller driver's EvtSerCxControl callback function. This member is required to point to a valid callback function.
EvtSerCxApplyConfigA pointer to the controller driver's EvtSerCxApplyConfig callback function. This member is required to point to a valid callback function.
EvtSerCxTransmitCancelA pointer to the controller driver's EvtSerCxTransmitCancel callback function. This member is optional and can be set to NULL.
EvtSerCxReceiveCancelA pointer to the controller driver's EvtSerCxReceiveCancel callback function. This member is optional and can be set to NULL.
Before this structure is passed to the SerCxInitialize method, it must be initialized by the SERCX_CONFIG_INIT function, and then modified by the controller driver to set the callback function pointers and the PowerManaged member.