SerCx2 对象句柄

本主题介绍专门为 SerCx2) 串行框架扩展版本 2 (定义的对象句柄类型。

SerCx2 设备驱动程序接口 (DDI) 使用这些句柄类型来引用具有特定于 SerCx2 的特性和功能的对象。

此外,SerCx2 DDI 使用由 Kernel-Mode Driver Framework (KMDF) 定义的两个泛型对象句柄类型 WDFDEVICE 和 WDFREQUEST。

有关框架句柄类型的详细信息,请参阅 Framework 对象的摘要

本主题介绍以下对象句柄:

头文件:2.0\Sercx.h

SERCX2CUSTOMRECEIVE 对象句柄

SERCX2CUSTOMRECEIVE 对象句柄是对串行框架扩展版本 2 中自定义接收对象的不透明引用, (SerCx2) 。

SerCx2CustomReceiveCreate 方法创建一个 custom-receive 对象。 SerCx2 使用此对象来管理使用自定义数据传输机制从串行控制器读取数据的 I/O 事务。 此对象对串行控制器驱动程序不透明。

SerCx2CustomReceiveCreate 为新创建的自定义接收对象提供 SERCX2CUSTOMRECEIVE 句柄作为输出参数。

SerCx2 和串行控制器驱动程序使用此句柄在后续调用 SerCx2 方法和事件回调函数时引用 对象。

在 SerCx2CustomReceiveCreate 创建自定义接收对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,会自动删除自定义接收对象。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除自定义接收对象。

串行控制器驱动程序可以选择创建自定义接收对象,但不能创建多个此类对象。

驱动程序只能在以下情况下创建此对象:

  • 驱动程序之前创建了一个 PIO 接收对象。
  • 驱动程序 尚未 创建 system-DMA-receive 对象。

有关 PIO 接收对象的详细信息,请参阅 SERCX2PIORECEIVE 对象句柄

有关 system-DMA-receive 对象的详细信息,请参阅 SERCX2SYSTEMDMARECEIVE 对象句柄

SERCX2CUSTOMRECEIVETRANSACTION 对象句柄

SERCX2CUSTOMRECEIVETRANSACTION 对象句柄是串行框架扩展版本 2 中的自定义接收事务对象的不透明引用, (SerCx2) 。

SerCx2CustomReceiveTransactionCreate 方法创建一个 custom-receive-transaction 对象。 SerCx2 使用此对象来管理 I/O 事务,这些事务使用自定义数据传输机制读取串行控制器接收的数据。

此对象对串行控制器驱动程序不透明。

SerCx2CustomReceiveTransactionCreate 为新创建的 custom-receive-transaction 对象提供 SERCX2CUSTOMRECEIVETRANSACTION 句柄作为输出参数。

SerCx2 和串行控制器驱动程序使用此句柄来引用后续自定义接收事务中的 对象。

有关详细信息,请参阅 SerCx2 Custom-Receive事务

在 SerCx2CustomReceiveTransactionCreate 创建 custom-receive-transaction 对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。

删除设备对象时,会自动删除 custom-receive-transaction 对象。

串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除 custom-receive-transaction 对象。

串行控制器驱动程序可以选择创建自定义接收事务对象,但不能创建多个此类对象。

驱动程序只能在以下条件下创建此对象:</wdcml:p>

  • 驱动程序之前创建了一个 PIO 接收对象。
  • 驱动程序之前创建了一个自定义接收对象。

有关 PIO 接收对象的详细信息,请参阅 SERCX2PIORECEIVE 对象句柄。 有关自定义接收对象的详细信息,请参阅 SERCX2CUSTOMRECEIVE 对象句柄

尽管 custom-receive 和 custom-receive-transaction 对象的生存期类似,但这些对象类型定义为单独的对象类型 (,并且不会合并为一种类型) ,以支持 SerCx2 设备驱动程序接口的未来可能扩展。

SERCX2CUSTOMTRANSMIT 对象句柄

SERCX2CUSTOMTRANSMIT 对象句柄是串行框架扩展版本 2 中自定义传输对象的不透明引用, (SerCx2) 。

SerCx2CustomTransmitCreate 方法创建一个自定义传输对象。h SerCx2 使用此对象来管理将数据写入串行控制器的 I/O 事务。 此对象对串行控制器驱动程序不透明。

SerCx2CustomTransmitCreate 为新创建的自定义传输对象提供 SERCX2CUSTOMTRANSMIT 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄在后续调用 SerCx2 方法和事件回调函数时引用 对象。

在 SerCx2CustomTransmitCreate 创建自定义传输对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。

删除设备对象时,会自动删除自定义传输对象。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除自定义传输对象。

串行控制器驱动程序可以选择创建自定义传输对象,但不能创建多个此类对象。

驱动程序只能在以下情况下创建此对象:

  • 驱动程序之前创建了 PIO 传输对象。
  • 驱动程序 尚未 创建 system-DMA-transmit 对象。

有关 PIO 传输对象的详细信息,请参阅 SERCX2PIOTRANSMIT 对象句柄。 有关系统 DMA 传输对象的详细信息,请参阅 SERCX2SYSTEMDMATRANSMIT 对象句柄

SERCX2CUSTOMTRANSMITTRANSACTION 对象句柄

SERCX2CUSTOMTRANSMITTRANSACTION 对象句柄是对串行框架扩展版本 2 中自定义传输事务对象的不透明引用, (SerCx2) 。

SerCx2CustomTransmitTransactionCreate 方法创建一个 custom-transmit-transaction 对象。 SerCx2 使用此对象来管理 I/O 事务,这些事务使用自定义数据传输机制将数据写入串行控制器。 此对象对串行控制器驱动程序不透明。

SerCx2CustomTransmitTransactionCreate 为新创建的自定义传输事务对象提供 SERCX2CUSTOMTRANSMITTRANSACTION 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄来引用后续自定义传输事务中的 对象。

有关详细信息,请参阅 SerCx2 Custom-Transmit事务

在 SerCx2CustomTransmitTransactionCreate 创建自定义传输事务对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,会自动删除 custom-transmit-transaction 对象。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除自定义传输事务对象。

串行控制器驱动程序可以选择创建自定义传输对象,但不能创建多个此类对象。 驱动程序只能在以下情况下创建此对象:

  • 驱动程序之前创建了 PIO 传输对象。
  • 驱动程序 尚未 创建 system-DMA-transmit 对象。

有关 PIO 传输对象的详细信息,请参阅 SERCX2PIOTRANSMIT 对象句柄。 有关自定义传输对象的详细信息,请参阅 SERCX2CUSTOMTRANSMIT 对象句柄

尽管自定义传输和自定义传输事务对象的生存期相似,但这些对象类型定义为单独的对象类型 (,并且不会合并为一种类型) ,以支持 SerCx2 设备驱动程序接口的未来可能扩展。

SERCX2PIORECEIVE 对象句柄

SERCX2PIORECEIVE 对象句柄是串行框架扩展版本 2 中对 PIO 接收对象的不透明引用, (SerCx2) 。

SerCx2PioReceiveCreate 方法创建 PIO-receive 对象。 SerCx2 使用 对象管理编程的 I/O (PIO) 从串行控制器读取数据的事务。 此对象对串行控制器驱动程序不透明。 为新创建的 PIO-receive 对象提供 SERCX2PIORECEIVE 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄来引用后续 PIO 接收事务中的 对象。

有关详细信息,请参阅 SerCx2 PIO-Receive事务在 SerCx2PioReceiveCreate 创建 PIO 接收对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,将自动删除 PIO-receive 对象。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除 PIO-receive 对象。

串行控制器驱动程序必须创建一个且只有一个 PIO 接收对象。 在创建 system-DMA-receive 对象或 custom-receive 对象之前,驱动程序必须创建此对象。 有关 system-DMA-receive 对象的详细信息,请参阅 SERCX2SYSTEMDMARECEIVE 对象句柄。 有关自定义接收对象的详细信息,请参阅 SERCX2CUSTOMRECEIVE 对象句柄

SERCX2PIOTRANSMIT 对象句柄

SERCX2PIOTRANSMIT 对象句柄是串行框架扩展版本 2 中对 PIO 传输对象的不透明引用, (SerCx2) 。

SerCx2PioTransmitCreate 方法创建 PIO 传输对象。 SerCx2 使用此对象来管理使用编程 I/O (PIO) 将数据写入串行控制器的 I/O 事务。 此对象对串行控制器驱动程序不透明。 SerCx2PioTransmitCreate 为新创建的 PIO 传输对象提供 SERCX2PIOTRANSMIT 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄来引用后续 PIO 传输事务中的 对象。 有关详细信息,请参阅 SerCx2 PIO-Transmit事务在 SerCx2PioTransmitCreate 创建 PIO 传输对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,将自动删除 PIO 传输对象。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除 PIO 传输对象。

串行控制器驱动程序必须创建一个且仅一个 PIO 传输对象。 在创建 system-DMA-transmit 对象或自定义传输对象之前,驱动程序必须创建此对象。 有关系统 DMA 传输对象的详细信息,请参阅 SERCX2SYSTEMDMATRANSMIT 对象句柄。 有关自定义传输对象的详细信息,请参阅 SERCX2CUSTOMTRANSMIT 对象句柄

SERCX2SYSTEMDMARECEIVE 对象句柄

SERCX2SYSTEMDMARECEIVE 对象句柄是串行框架扩展版本 2 中对 system-DMA-receive 对象的不透明引用 (SerCx2) 。

SerCx2SystemDmaReceiveCreate 方法创建 system-DMA-receive 对象。 SerCx2 使用此对象来管理从串行控制器读取数据的系统 DMA 事务。 此对象对串行控制器驱动程序不透明。 SerCx2SystemDmaReceiveCreate 为新创建的 system-DMA-receive 对象提供 SERCX2SYSTEMDMARECEIVE 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄来引用后续 system-DMA-receive 事务中的 对象。 有关详细信息,请参阅 SerCx2 System-DMA-Receive Transactions

在 SerCx2SystemDmaReceiveCreate 创建 system-DMA-receive 对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,系统-DMA-receive 对象会自动删除。 串行控制器驱动程序可以选择创建 system-DMA-receive 对象,但不能创建多个此类对象。 驱动程序只能在以下情况下创建此对象:

  • 驱动程序之前创建了一个 PIO 接收对象。
  • 驱动程序 尚未 创建自定义接收对象。

有关 PIO 接收对象的详细信息,请参阅 SERCX2PIORECEIVE 对象句柄。 有关自定义接收对象的详细信息,请参阅 SERCX2CUSTOMRECEIVE 对象句柄

SERCX2SYSTEMDMATRANSMIT 对象句柄

SERCX2SYSTEMDMATRANSMIT 对象句柄是串行框架扩展版本 2 中对 system-DMA-transmit 对象的不透明引用 (SerCx2) 。

SerCx2SystemDmaTransmitCreate 方法创建 system-DMA-transmit 对象。 SerCx2 使用此对象来管理将数据写入串行控制器的系统 DMA 事务。 此对象对串行控制器驱动程序不透明。 SerCx2SystemDmaTransmitCreate 为新创建的 system-DMA-transmit 对象提供 SERCX2SYSTEMDMATRANSMIT 句柄作为输出参数。 SerCx2 和串行控制器驱动程序使用此句柄来引用后续系统-DMA 传输事务中的 对象。 有关详细信息,请参阅 SerCx2 System-DMA-Transmit Transactions

在 SerCx2SystemDmaTransmitCreate 创建 system-DMA-transmit 对象后,此对象在表示串行控制器设备的框架设备对象的生存期内存在。 删除设备对象时,系统-DMA 传输对象会自动删除。 串行控制器驱动程序 不得 尝试通过调用 WdfObjectDelete 等方法删除 system-DMA 传输对象。

串行控制器驱动程序可以选择创建 system-DMA-transmit 对象,但不能创建多个此类对象。 驱动程序只能在以下条件下创建此对象:</wdcml:p>

  • 驱动程序之前创建了 PIO 传输对象。
  • 驱动程序 尚未 创建自定义传输对象。

有关 PIO 传输对象的详细信息,请参阅 SERCX2PIOTRANSMIT 对象句柄。 有关自定义传输对象的详细信息,请参阅 SERCX2CUSTOMTRANSMIT 对象句柄

SerCx2 Custom-Receive 事务

SerCx2 Custom-Transmit 事务

SerCx2 PIO-Receive 事务

SerCx2 PIO-Transmit 事务

SerCx2 System-DMA-Receive 事务

SerCx2 System-DMA-Transmit 事务

SerCx2CustomReceiveTransactionCreate

SerCx2CustomTransmitCreate

SerCx2CustomTransmitTransactionCreate

SerCx2PioReceiveCreate

SerCx2PioReceiveCreate

SerCx2PioTransmitCreate

SerCx2SystemDmaReceiveCreate

SerCx2SystemDmaTransmitCreate

框架对象摘要

WdfObjectDelete