IRB_REQ_ASYNC_READ结构 (1394.h)

此结构包含执行异步读取请求所需的 1394 堆栈所需的字段。

语法

typedef struct _IRB_REQ_ASYNC_READ {
  IO_ADDRESS DestinationAddress;
  ULONG      nNumberOfBytesToRead;
  ULONG      nBlockSize;
  ULONG      fulFlags;
  PMDL       Mdl;
  ULONG      ulGeneration;
  UCHAR      chPriority;
  UCHAR      nSpeed;
  UCHAR      tCode;
  UCHAR      Reserved;
  ULONG      ElapsedTime;
} IRB_REQ_ASYNC_READ;

成员

DestinationAddress

指定此读取作的 1394 64 位目标地址。 驱动程序只需填写 DestinationAddressIA_Destination_Offset 成员;总线驱动程序填写 IA_Destination_ID 成员。 有关结构说明,请参阅 IO_ADDRESS

nNumberOfBytesToRead

指定要从 1394 节点读取的字节数。

nBlockSize

指定从 1394 节点中作为整体读取的数据流中每个单个块的大小。 如果此参数为零,则所选设备和速度的最大数据包大小用于发出这些读取请求,除非使用原始模式寻址。

如果使用原始模式寻址,客户端驱动程序应将 nBlockSize 成员设置为设备以连接速度支持的最大异步有效负载大小。

有关原始模式寻址的详细信息,请参阅 在 IEEE 1394 总线上发送异步 I/O 请求数据包。

注意 在 Windows 7 及更高版本的 Windows 中,可以指定更高速度和更大大小的有效负载的新值。 有关详细信息,请参阅 Windows 7 中的设备驱动程序接口(DDI)更改中 用于速度和有效负载大小的新标志IEEE 1394 IOCTL 更改
 

fulFlags

指定此作的任何非默认设置。 提供了以下标志。

描述
ASYNC_FLAGS_NONINCREMENTING 当总线驱动程序将请求拆分为块时,请在同一地址为每个块开始作,而不是将每个块视为设备的地址空间的连续部分。 仅在大于 u.AsyncRead.nBlockSize 的异步请求中使用 或当前速度的最大数据包大小。
ASYNC_FLAGS_PING 总线驱动程序返回 u.AsyncRead.ElapsedTime中作的运行时间。

Mdl

指向描述设备驱动程序缓冲区的 MDL,该缓冲区从 1394 节点接收数据。

ulGeneration

指定提交此异步请求的设备驱动程序已知的总线重置生成。 如果指定的生成计数与总线的实际生成不匹配,则会返回此请求,并显示STATUS_INVALID_GENERATION错误。

chPriority

保留。 驱动程序必须将此设置为零。

nSpeed

保留。 驱动程序必须将此设置为零。

tCode

保留。 驱动程序必须将此设置为零。

Reserved

保留。 驱动程序必须将此设置为零。

ElapsedTime

已用时间(以纳秒为单位)。 仅适用于标志ASYNC_FLAGS_PING。

要求

要求 价值
标头 1394.h