EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES Rückruffunktion (wdfio.h)

[Gilt nur für KMDF]

Die EvtIoAllocateRequestResources-Rückruffunktion eines Treibers ordnet anforderungsspezifische Ressourcen zu, die der Treiber zum Verarbeiten der angegebenen Anforderung benötigt.

Syntax

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

NTSTATUS EvtWdfIoAllocateRequestResources(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

Parameter

[in] Queue

Ein Handle für ein E/A-Warteschlangenobjekt.

[in] Request

Ein Handle für ein Anforderungsobjekt, das vom Framework erstellt wurde. Das Framework hat das Anforderungsobjekt noch nicht der E/A-Warteschlange hinzugefügt, die vom Handle des Queue-Parameters angegeben wird.

Rückgabewert

Die Rückruffunktion EvtIoAllocateRequestResources muss STATUS_SUCCESS oder einen anderen status-Wert zurückgeben, für den NT_SUCCESS(status) gleich TRUE ist, wenn die Funktion keine Fehler auftritt. Andernfalls muss diese Funktion einen status Wert zurückgeben, für den NT_SUCCESS(status) gleich FALSE ist.

Hinweise

Ein Treiber kann eine EvtIoAllocateRequestResources-Rückruffunktion registrieren, wenn er WdfIoQueueAssignForwardProgressPolicy aufruft.

Wenn Ihr Treiber eine EvtIoAllocateRequestResources-Rückruffunktion registriert, ruft das Framework die Funktion sofort auf, nachdem es ein Anforderungsobjekt für ein E/A-Anforderungspaket (IRP) erstellt hat, das der E/A-Manager an Ihren Treiber gesendet hat.

Die Rückruffunktion kann Ressourcen zuordnen, die Ihr Treiber benötigt, um die Anforderung später zu verarbeiten, nachdem der Treiber das Anforderungsobjekt aus der E/A-Warteschlange abgerufen hat, die das Handle des Queue-Parameters angibt.

Wenn die Rückruffunktion ressourcen erfolgreich zuordnet und STATUS_SUCCESS zurückgibt, übermittelt das Framework schließlich das Anforderungsobjekt an den Treiber.

Wenn ein Ressourcenzuordnungsfehler auftritt, z. B. eine Situation mit geringem Arbeitsspeicher, muss die Rückruffunktion einen Fehler status Wert zurückgeben. In diesem Fall folgt das Framework der Vorwärtsstatusrichtlinie des Treibers, die der Treiber zuvor mit einem WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY Wert angegeben hat, als er WdfIoQueueAssignForwardProgressPolicy aufgerufen hat.

Weitere Informationen zur Rückruffunktion EvtIoAllocateRequestResources finden Sie unter Garantieren des Vorwärtsfortschritts von E/A-Vorgängen.

Diese Rückruffunktion kann unter IRQL <= DISPATCH_LEVEL aufgerufen werden. Wenn der IRQL PASSIVE_LEVEL ist, ruft das Framework die Rückruffunktion in einem kritischen Bereich auf.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.9
Kopfzeile wdfio.h (einschließen von Wdf.h)
IRQL <=DISPATCH_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy