Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt für KMDF und UMDF]
Die WdfRequestChangeTarget Methode überprüft, ob eine angegebene E/A-Anforderung an ein angegebenes E/A-Ziel gesendet werden kann.
Syntax
NTSTATUS WdfRequestChangeTarget(
[in] WDFREQUEST Request,
[in] WDFIOTARGET IoTarget
);
Parameter
[in] Request
Ein Handle zu einem Framework-Anforderungsobjekt.
[in] IoTarget
Ein Handle zu einem Framework-E/A-Zielobjekt.
Rückgabewert
WdfRequestChangeTarget gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
| Rückgabecode | Beschreibung |
|---|---|
|
Ein Eingabeparameter ist ungültig. |
|
Es sind unzureichende Systemressourcen vorhanden, um den Vorgang abzuschließen. |
|
Das Array der E/A-Stapelspeicherorte der Anforderung ist nicht groß genug, damit der Treiber die Anforderung an das E/A-Ziel senden kann. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Ihr Treiber sollte die WdfRequestChangeTarget--Methode aufrufen, bevor er WdfRequestSend-aufruft, wenn der Treiber eine einzelne E/A-Anforderung an mehrere E/A-Ziele sendet. WdfRequestChangeTarget überprüft, ob die Anforderung an das angegebene E/A-Ziel gesendet werden kann.
Die meisten Treiber senden jede Anforderung nur an ein Gerät und somit nur an ein E/A-Ziel. Ein Treiber empfängt entweder die Anforderung oder erstellt eine neue Anforderung, indem WdfRequestCreateaufgerufen wird.
Wenn der Treiber die Anforderung an ein Gerät sendet, ruft er WdfDeviceGetIoTarget- auf, um das E/A-Ziel des Geräts zu ermitteln, und ruft dann WdfRequestSend auf, um die Anforderung an das Ziel zu senden.
Wenn der Treiber die Anforderung an mehrere Geräte sendet, ruft er WdfDeviceGetIoTarget- für jedes Gerät auf, um das E/A-Ziel des Geräts zu ermitteln. Vor dem Aufrufen WdfRequestSendmuss der Treiber WdfRequestChangeTarget- aufrufen, um sicherzustellen, dass auf jedes E/A-Ziel zugegriffen werden kann.
Weitere Informationen zu WdfRequestChangeTarget-finden Sie unter Weiterleitung von E/A-Anforderungen.
Beispiele
Im folgenden Codebeispiel wird überprüft, ob eine E/A-Anforderung an das lokale E/A-Ziel eines bestimmten Geräts gesendet werden kann.
NTSTATUS status;
status = WdfRequestChangeTarget(
request,
WdfDeviceGetIoTarget(Device)
);
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Minimale KMDF-Version | 1.0 |
| Mindest-UMDF-Version | 2.0 |
| Header- | wdfrequest.h (include Wdf.h) |
| Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL- | <=DISPATCH_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |