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结构的 超时 成员有效。
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
值:0x00000002
如果驱动程序设置此标志,框架将同步处理关联的 I/O 请求。 (如果驱动程序调用名称以“Syncly”结尾的对象方法,例如 WdfIoTargetSendReadSynchronously,则驱动程序不必设置此标志。
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
值:0x00000004
如果驱动程序设置此标志,框架会将 I/O 请求发送到 I/O 目标,而不考虑 I/O 目标的状态。 如果未设置,框架会将请求排入队列(如果目标已停止)。 设置此标志后,驱动程序可以将请求(例如请求重置 USB 管道)发送到设备,该驱动程序调用 WdfIoTargetStop
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