WDF_REQUEST_SEND_OPTIONS_FLAGS 枚举 (wdfrequest.h)

[适用于 KMDF 和 UMDF]

WDF_REQUEST_SEND_OPTIONS_FLAGS 枚举类型定义在驱动程序WDF_REQUEST_SEND_OPTIONS结构中使用的标志。

语法

typedef enum _WDF_REQUEST_SEND_OPTIONS_FLAGS {
  WDF_REQUEST_SEND_OPTION_TIMEOUT = 0x00000001,
  WDF_REQUEST_SEND_OPTION_SYNCHRONOUS = 0x00000002,
  WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE = 0x00000004,
  WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET = 0x00000008,
  WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT = 0x00010000,
  WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE = 0x00020000
} WDF_REQUEST_SEND_OPTIONS_FLAGS;

常量

 
WDF_REQUEST_SEND_OPTION_TIMEOUT
值: 0x00000001
如果驱动程序设置此标志,则WDF_REQUEST_SEND_OPTIONS结构的 Timeout 成员有效。
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
值: 0x00000002
如果驱动程序设置此标志,框架将同步处理关联的 I/O 请求。 (如果驱动程序正在调用名称以“Synchronously”结尾的对象方法,例如 WdfIoTargetSendReadSynchronously.)
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
值: 0x00000004
如果驱动程序设置此标志,框架会将 I/O 请求发送到 I/O 目标,而不考虑 I/O 目标的状态。 如果未设置,则当目标停止时,框架会将请求排队。 设置此标志允许驱动程序在驱动程序调用 WdfIoTargetStop 后向设备发送请求,例如重置 USB 管道的请求。
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
值: 0x00000008
如果驱动程序设置此标志,则驱动程序以异步方式发送请求,并且不需要在请求完成或取消时收到通知。 无论 I/O 目标的状态如何,框架都会向 I/O 目标发送 I/O 请求。 驱动程序不会为请求设置 CompletionRoutine 回调函数或调用 WdfRequestComplete 。 如果驱动程序设置此标志,则无法设置任何其他标志。 有关此标志的详细信息,请参阅以下“备注”部分。
WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
值: 0x00010000
此标志仅适用于 UMDF。 如果已设置,并且 I/O 请求类型为 WdfRequestTypeCreate则 WdfRequestSend 方法将尝试将客户端的模拟级别传递给驱动程序的 I/O 目标。 如果模拟尝试失败, WdfRequestSend 方法将返回错误代码,除非驱动程序还设置了 WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE 标志。
WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
值: 0x00020000
此标志仅适用于 UMDF。 如果设置,即使模拟失败,框架仍会发送请求。 此值只能与 WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT 一起使用。

注解

设置WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET标志的驱动程序通常不会在调用 WdfRequestSend 以将请求发送到 I/O 目标之前格式化 I/O 请求。 事实上,设置此标志的驱动程序在调用 WdfRequestSend 之前不得调用任何 WdfIoTargetFormatRequestForXxx 方法。 驱动程序只能使用 WdfRequestFormatRequestUsingCurrentTypeWdfRequestWdmFormatUsingStackLocation 方法来格式化请求。

在以下情况下,驱动程序 无法 设置WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET标志:

有关此枚举的 UMDF 版本,请参阅 WDF_REQUEST_SEND_OPTIONS_FLAGS (UMDF)

要求

要求
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfrequest.h (包括 Wdf.h)

另请参阅

WDF_REQUEST_SEND_OPTIONS

WdfIoTargetStop