SERCX_BUFFER_DESCRIPTOR结构(sercx.h)

SERCX_BUFFER_DESCRIPTOR 结构描述接收操作或传输操作的数据缓冲区。

语法

typedef struct SERCX_BUFFER_DESCRIPTOR {
  USHORT Size;
  PUCHAR Buffer;
  ULONG  Length;
} SERCX_BUFFER_DESCRIPTOR, *PSERCX_BUFFER_DESCRIPTOR;

成员

Size

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

Buffer

缓冲区的虚拟内存地址。 缓冲区的内存未分页。

Length

缓冲区中可用的字节数。 此大小确定接收或传输操作可以传输的最大字节数。

言论

串行控制器驱动程序使用此结构中的信息来确定在接收操作期间从内存中读取数据的位置,以及传输操作期间在内存中写入数据的位置。

在任何时候,最多可以有一个有效的接收缓冲区和一个有效的传输缓冲区。 控制器驱动程序调用 SerCxRetrieveReceiveBuffer 方法来获取接收缓冲区,并调用 SerCxRetrieveTransmitBuffer 方法获取传输缓冲区。 这两种方法将缓冲区说明复制到调用方分配 SERCX_BUFFER_DESCRIPTOR 结构中。 对其中一种方法的后续调用使以前为接收缓冲区或传输缓冲区发出的描述符失效。 调用方不得访问由不再有效的缓冲区描述符描述符描述的缓冲区。

无法保证连续调用 SerCxRetrieveReceiveBufferSerCxRetrieveTransmitBuffer 获取的缓冲区是连续的。

控制器驱动程序必须调用 SERCX_BUFFER_DESCRIPTOR_INIT 函数来初始化 SERCX_BUFFER_DESCRIPTOR 结构,然后才能将结构传递给 SerCxRetrieveReceiveBufferSerCxRetrieveTransmitBuffer 方法。 初始化缓冲区描述符后,可以重复使用该描述符,而无需再次初始化。

要求

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

另请参阅

SERCX_BUFFER_DESCRIPTOR_INIT

SerCxRetrieveReceiveBuffer

SerCxRetrieveTransmitBuffer