WDF_REQUEST_SEND_OPTIONS 结构 (wdfrequest.h)
[适用于 KMDF 和 UMDF]
WDF_REQUEST_SEND_OPTIONS 结构指定与向 I/O 目标发送 I/O 请求关联的选项。
语法
typedef struct _WDF_REQUEST_SEND_OPTIONS {
ULONG Size;
ULONG Flags;
LONGLONG Timeout;
} WDF_REQUEST_SEND_OPTIONS, *PWDF_REQUEST_SEND_OPTIONS;
成员
Size
此结构的大小(以字节为单位)。
Flags
WDF_REQUEST_SEND_OPTIONS_FLAGS类型的标志的按位 OR。
Timeout
一个超时值,以系统时间单位 (100 纳秒的间隔) 。 如果驱动程序已设置WDF_REQUEST_SEND_OPTION_TIMEOUT标志,则框架将取消关联的 I/O 请求(如果未在指定的超时期限内完成)。 超时值可以是负、正或零,如下所示:
- 如果值为负值,则过期时间相对于当前系统时间。
- 如果值为正值,则过期时间指定为绝对时间 (实际上相对于 1601 年 1 月 1 日) 。
- 如果值为零,则框架不会超时请求。
框架提供 时间转换函数 ,用于将时间值转换为系统时间单位。
如果框架因指定的超时期限已过而取消 I/O 请求,则框架会为 I/O 请求提供STATUS_IO_TIMEOUT完成状态。 但是,在超时期限过后,I/O 目标可能会在框架能够取消 I/O 请求之前完成该请求。 在这种情况下,I/O 请求的完成状态将不会STATUS_IO_TIMEOUT。
注解
WDF_REQUEST_SEND_OPTIONS 结构传递给向 I/O 目标发送 I/O 请求的对象方法,例如 WdfRequestSend 方法。 必须通过调用 WDF_REQUEST_SEND_OPTIONS_INIT 和 WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT 函数来初始化 结构。
如果驱动程序同步发送请求,我们建议驱动程序在此结构的 Flags 成员中设置超时值和超时标志。
要求
要求 | 值 |
---|---|
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfrequest.h (包括 Wdf.h) |
另请参阅
WDF_REQUEST_SEND_OPTIONS_FLAGS