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 WdfDeviceConfigureRequestDispatching Methode bewirkt, dass das Framework einen bestimmten Typ von E/A-Anforderungen in eine angegebene E/A-Warteschlange in die Warteschlange einreiht.
Syntax
NTSTATUS WdfDeviceConfigureRequestDispatching(
[in] WDFDEVICE Device,
[in] WDFQUEUE Queue,
[in] WDF_REQUEST_TYPE RequestType
);
Parameter
[in] Device
Stellt ein Handle für ein Framework-Geräteobjekt bereit.
[in] Queue
Stellt ein Handle für ein Framework-Warteschlangenobjekt bereit.
[in] RequestType
Stellt einen WDF_REQUEST_TYPE-typed-Enumerator bereit, der den Typ der Anforderung identifiziert, die in die Warteschlange gestellt werden soll. Die einzigen gültigen Enumerationen sind:
WdfRequestTypeCreate
WdfRequestTypeRead-
WdfRequestTypeWrite-
WdfRequestTypeDeviceControl-
WdfRequestTypeDeviceControlInternal-
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt die Methode STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Ein Eingabeparameter ist ungültig. |
|
Der verfügbare Arbeitsspeicher ist zu niedrig. |
|
Der Treiber hat dem angegebenen Anforderungstyp bereits eine Warteschlange zugewiesen. |
Die Methode gibt möglicherweise andere NTSTATUS-Wertezurück.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Jeder Aufruf von WdfDeviceConfigureRequestDispatching gibt einen Anforderungstyp an. Wenn eine einzelne E/A-Warteschlange mehrere Arten von Anforderungen empfangen soll (z. B. Lese- und Schreibanforderungen), kann Ihr Treiber WdfDeviceConfigureRequestDispatching mehrmals für eine einzelne E/A-Warteschlange aufrufen.
Weitere Informationen zu WdfDeviceConfigureRequestDispatchingfinden Sie unter Erstellen von E/A-Warteschlangen und Verwalten von E/A-Warteschlangen.
Beispiele
Im folgenden Codebeispiel wird eine WDF_IO_QUEUE_CONFIG Struktur initialisiert, eine E/A-Warteschlange erstellt und anschließend die Warteschlange so konfiguriert, dass sie Schreibanforderungen empfängt.
WDF_IO_QUEUE_CONFIG queueConfig;
WDFQUEUE WriteQueue;
WDF_IO_QUEUE_CONFIG_INIT(
&queueConfig,
WdfIoQueueDispatchSequential
);
queueConfig.EvtIoWrite = MyEvtIoWrite;
status = WdfIoQueueCreate(
Device,
&queueConfig,
WDF_NO_OBJECT_ATTRIBUTES,
&WriteQueue
);
if(!NT_SUCCESS(status)) {
return status;
}
status = WdfDeviceConfigureRequestDispatching(
Device,
WriteQueue,
WdfRequestTypeWrite
);
if(!NT_SUCCESS(status)) {
return status;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |