此结构包含执行异步读取请求所需的 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 位目标地址。 驱动程序只需填写 DestinationAddress的 IA_Destination_Offset 成员;总线驱动程序填写 IA_Destination_ID 成员。 有关结构说明,请参阅 IO_ADDRESS。
nNumberOfBytesToRead
指定要从 1394 节点读取的字节数。
nBlockSize
指定从 1394 节点中作为整体读取的数据流中每个单个块的大小。 如果此参数为零,则所选设备和速度的最大数据包大小用于发出这些读取请求,除非使用原始模式寻址。
如果使用原始模式寻址,客户端驱动程序应将 nBlockSize 成员设置为设备以连接速度支持的最大异步有效负载大小。
有关原始模式寻址的详细信息,请参阅 在 IEEE 1394 总线上发送异步 I/O 请求数据包。
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 |