Freigeben über


WDF_REQUEST_SEND_OPTIONS_FLAGS-Aufzählung (wdfrequest.h)

[Gilt für KMDF und UMDF]

Der WDF_REQUEST_SEND_OPTIONS_FLAGS Enumerationstyp definiert Flags, die in der WDF_REQUEST_SEND_OPTIONS Struktur eines Treibers verwendet werden.

Syntax

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;

Konstanten

 
WDF_REQUEST_SEND_OPTION_TIMEOUT
Wert: 0x00000001
Wenn der Treiber dieses Kennzeichen festlegt, ist das Timeout Member der WDF_REQUEST_SEND_OPTIONS Struktur gültig.
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
Wert: 0x00000002
Wenn der Treiber dieses Flag festlegt, verarbeitet das Framework die zugeordnete E/A-Anforderung synchron. (Der Treiber muss dieses Flag nicht festlegen, wenn es eine Objektmethode aufruft, deren Name mit "Synchron" endet, z. B. WdfIoTargetSendReadSynchronously.)
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
Wert: 0x00000004
Wenn der Treiber dieses Kennzeichen festlegt, sendet das Framework unabhängig vom Status des E/A-Ziels die E/A-Anforderung an das E/A-Ziel. Wenn sie nicht festgelegt ist, wird die Anforderung vom Framework in die Warteschlange gestellt, wenn das Ziel beendet wird. Wenn Sie dieses Kennzeichen festlegen, kann ein Treiber eine Anforderung, z. B. eine Anforderung zum Zurücksetzen eines USB-Pipes, auf ein Gerät senden, nachdem der Treiber WdfIoTargetStopaufgerufen hat.
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
Wert: 0x00000008
Wenn der Treiber dieses Kennzeichen festlegt, sendet der Treiber die Anforderung asynchron und muss nicht benachrichtigt werden, wenn die Anforderung abgeschlossen oder abgebrochen wird. Das Framework sendet die E/A-Anforderung unabhängig vom Status des E/A-Ziels an das E/A-Ziel. Der Treiber legt keine CompletionRoutine Rückruffunktion fest oder ruft WdfRequestComplete- für die Anforderung auf. Wenn der Treiber dieses Kennzeichen festlegt, kann es keine anderen Flags festlegen. Weitere Informationen zu dieser Kennzeichnung finden Sie im folgenden Abschnitt "Hinweise".
WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
Wert: 0x00010000
Dieses Flag gilt nur für UMDF. Wenn festgelegt und der E/A-Anforderungstyp WdfRequestTypeCreateist, versucht die WdfRequestSend--Methode, die Identitätswechselebene des Clients an das E/A-Ziel des Treibers zu übergeben. Die WdfRequestSend--Methode gibt einen Fehlercode zurück, wenn der Identitätswechselversuch fehlschlägt, es sei denn, der Treiber legt auch das WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE Flag fest.
WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
Wert: 0x00020000
Dieses Flag gilt nur für UMDF. Wenn festgelegt, sendet das Framework die Anforderung weiterhin, auch wenn der Identitätswechsel fehlschlägt. Sie können diesen Wert nur mit WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENTverwenden.

Bemerkungen

Ein Treiber, der das WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET Flag festlegt, formatiert die E/A-Anforderung in der Regel nicht, bevor WdfRequestSend- aufgerufen wird, um die Anforderung an ein E/A-Ziel zu senden. Tatsächlich darf ein Treiber, der dieses Flag festlegt, keinen der WdfIoTargetFormatRequestForXxx--Methoden aufrufen, bevor WdfRequestSendaufgerufen wird. Der Treiber kann nur die WdfRequestFormatRequestUsingCurrentType oder WdfRequestWdmFormatUsingStackLocation Methode zum Formatieren der Anforderung verwenden.

Ihr Treiber kann in den folgenden Situationen nicht die WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET-Kennzeichnung festlegen:

Informationen zur UMDF-Version dieser Enumeration finden Sie unter WDF_REQUEST_SEND_OPTIONS_FLAGS (UMDF).

Anforderungen

Anforderung Wert
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfrequest.h (include Wdf.h)

Siehe auch

WDF_REQUEST_SEND_OPTIONS

WdfIoTargetStop-