SERCX2_CUSTOM_TRANSMIT_CONFIG 结构 (sercx.h)

SERCX2_CUSTOM_TRANSMIT_CONFIG 结构包含 SerCx2) (串行框架扩展版本 2 用于配置新的自定义传输对象的信息。

语法

typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;

成员

Size

此结构的大小(以字节为单位)。 SerCx2CustomTransmitCreate 方法使用此成员来确定调用方正在使用的结构版本。 此结构的大小可能会在 Sercx.h 头文件的未来版本中更改。

Alignment

数据对齐要求。 指定自定义传输事务中传输的起始地址必须在内存中对齐的方式。 将此成员设置为 Wdm.h 头文件中的相应FILE_XXX_ALIGNMENT常量。 例如,FILE_WORD_ALIGNMENT指示起始地址必须与内存中的两个字节边界对齐,FILE_LONG_ALIGNMENT指示地址必须与四字节边界对齐,依此对齐。

MinimumTransactionLength

自定义传输事务中数据传输的最小长度(以字节为单位)。 如果写入 (IRP_MJ_WRITE) 请求中的缓冲区长度小于此最小长度,则 SerCx2 对事务使用编程的 I/O (PIO) 。

MaximumTransactionLength

自定义传输事务中数据传输的最大长度(以字节为单位)。 如果写入请求中缓冲区的大小大于此最大长度,SerCx2 将使用多个自定义传输事务来处理请求,并将每个事务限制为最大长度。

MinimumTransferUnit

最小传输单位。 要在自定义传输事务中传输的字节数必须是最小传输单位的整数倍。 若要指示应使用默认的最小传输单位,请将此成员设置为零。 有关默认最小传输单位的详细信息,请参阅 DMA_ADAPTER_INFO_V1

Exclusive

是否以独占方式使用自定义传输事务来处理写入 (IRP_MJ_WRITE) 请求。 设置为 TRUE 以指示写入请求应以独占方式使用自定义传输事务。 设置为 FALSE 表示写入请求可以使用自定义传输事务和 PIO 传输事务的组合。

仅当自定义传输事务的最小传输单元为一个字节,最小事务长度为一个字节,并且事务的写入缓冲区可以在内存中的任何字节边界上启动时,才将此成员设置为 TRUE

如果 ExclusiveTRUE,则 MinimumTransferUnitAlignmentMinimumTransactionLength 成员必须为零。

注解

SerCx2CustomTransmitCreate 方法接受指向SERCX2_CUSTOM_TRANSMIT_CONFIG结构的指针作为输入参数。 在调用 SerCx2CustomTransmitCreate 之前,请调用 SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT 函数来初始化此结构。

要求

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

另请参阅

DMA_ADAPTER_INFO_V1

IRP_MJ_WRITE

SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT

SerCx2CustomTransmitCreate