SERCX2_CONFIG结构(sercx.h)
SERCX2_CONFIG 结构包含串行框架扩展版本 2 的配置信息(SerCx2)。
语法
typedef struct _SERCX2_CONFIG {
ULONG Size;
PFN_SERCX2_FILEOPEN EvtSerCx2FileOpen;
PFN_SERCX2_FILECLOSE EvtSerCx2FileClose;
PFN_SERCX2_SET_WAIT_MASK EvtSerCx2SetWaitMask;
PFN_SERCX2_PURGE_FIFOS EvtSerCx2PurgeFifos;
PFN_SERCX2_CONTROL EvtSerCx2Control;
PFN_SERCX2_APPLY_CONFIG EvtSerCx2ApplyConfig;
PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE EvtSerCx2SelectNextReceiveTransactionType;
PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
PWDF_OBJECT_ATTRIBUTES RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;
成员
Size
此结构的大小(以字节为单位)。 SerCx2InitializeDevice 方法使用此成员来确定调用方正在使用的结构版本。 此结构的大小可能会在 Sercx.h 头文件的未来版本中更改。
EvtSerCx2FileOpen
指向驱动程序实现 EvtSerCx2FileOpen 事件回调函数的指针。 此成员是可选的,可以设置为 NULL,以指示驱动程序未实现该函数。 但是,实现此函数的驱动程序还必须实现 EvtSerCx2FileClose 函数。
EvtSerCx2FileClose
指向驱动程序实现 EvtSerCx2FileClose 事件回调函数的指针。 此成员是可选的,可以设置为 NULL,以指示驱动程序未实现该函数。
EvtSerCx2SetWaitMask
指向驱动程序实现 EvtSerCx2SetWaitmask 事件回调函数的指针。 此成员必须指向有效的函数。
EvtSerCx2PurgeFifos
指向驱动程序实现 EvtSerCx2PurgeFifos 事件回调函数的指针。 此成员必须指向有效的函数。
EvtSerCx2Control
指向驱动程序实现 EvtSerCx2Control 事件回调函数的指针。 此成员必须指向有效的函数。
EvtSerCx2ApplyConfig
指向驱动程序实现的 EvtSerCx2ApplyConfig 事件回调函数的指针。 此成员必须指向有效的函数。
EvtSerCx2SelectNextReceiveTransactionType
指向驱动程序实现 EvtSerCx2SelectNextReceiveTransactionType 事件回调函数的指针。 此成员是可选的,可以设置为 NULL,以指示驱动程序未实现该函数。
EvtSerCx2SelectNextTransmitTransactionType
指向驱动程序实现 EvtSerCx2SelectNextTransmitTransactionType 事件回调函数的指针。 此成员是可选的,可以设置为 NULL,以指示驱动程序未实现该函数。
RequestAttributes
指向 WDF_OBJECT_ATTRIBUTES 结构的指针,该结构描述要分配给 SerCx2 传递给串行控制器驱动程序的框架请求对象的属性。 在调用 SerCx2InitializeDevice 方法之前,调用方必须调用 WDF_OBJECT_ATTRIBUTES_INIT 函数来初始化结构。 此成员是可选的,如果串行控制器驱动程序不需要向对象分配属性,则可以指定为WDF_NO_OBJECT_ATTRIBUTES。 有关详细信息,请参阅“备注”。
言论
SerCx2InitializeDevice 方法接受指向 SERCX2_CONFIG 结构的指针作为输入参数。 在调用 SerCx2InitializeDevice之前,请调用 SERCX2_CONFIG_INIT 函数来初始化此结构。
如果 RequestAttributes 成员指向 WDF_OBJECT_ATTRIBUTES 结构,则调用方不得覆盖 WDF_OBJECT_ATTRIBUTES_INIT 初始化函数写入 ParentObject、ExecutionLevel以及 SynchronizationScope 成员的值。
驱动程序可能需要将信息存储在驱动程序接收的框架请求对象的上下文区域中。 通常,驱动程序调用 WdfDeviceInitSetRequestAttributes 方法来指定请求对象的必需属性。 这些属性包括每个请求对象中上下文区域的名称和大小。 此外,在 SerCx2 的当前实现中,需要请求上下文的串行控制器驱动程序应在 RequestAttributes 驱动程序传递给 SerCx2InitializeDeviceSERCX2_CONFIG 结构的成员中指定这些相同的属性。 也就是说,驱动程序应在 SerCx2InitializeDevice 调用中,并在 WdfDeviceInitSetRequestAttributes 调用中指定相同的请求属性。 有关详细信息,请参阅 SerCx2 Custom-Receive 事务 和 SerCx2 Custom-Transmit 事务。
从不需要请求上下文的驱动程序不需要调用 WdfDeviceInitSetRequestAttributes,并且可以将 SERCX2_CONFIG 结构的 RequestAttributes 成员设置为WDF_NO_OBJECT_ATTRIBUTES。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从Windows 8.1开始支持。 |
标头 | sercx.h |
另请参阅
EvtSerCx2SelectNextReceiveTransactionType