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 初始化函数写入此结构的 ParentObjectExecutionLevelSynchronizationScope 成员的值。

驱动程序可能需要将信息存储在驱动程序接收的框架请求对象的上下文区域中。 通常,驱动程序调用 WdfDeviceInitSetRequestAttributes 方法以指定请求对象的必需属性。 这些属性包括每个请求对象中上下文区域的名称和大小。 此外,在 SerCx2 的当前实现中,需要请求上下文的串行控制器驱动程序应在驱动程序传递给 SerCx2InitializeDevice的 SERCX2_CONFIG 结构的 RequestAttributes 成员中指定这些相同的属性。 也就是说,驱动程序应在 SerCx2InitializeDevice 调用和 WdfDeviceInitSetRequestAttributes 调用中两次指定相同的请求属性。 有关详细信息,请参阅 SerCx2 Custom-Receive 事务SerCx2 Custom-Transmit 事务

从不需要请求上下文的驱动程序不需要调用 WdfDeviceInitSetRequestAttributes,并且可以将 SERCX2_CONFIG 结构的 RequestAttributes 成员设置为WDF_NO_OBJECT_ATTRIBUTES。

要求

要求
最低受支持的客户端 从 Windows 8.1 开始支持。
标头 sercx.h

另请参阅

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT