Freigeben über


IoRequestDpc-Funktion (wdm.h)

Die IoRequestDpc-Routine stellt eine vom Treiber bereitgestellte DpcForIsr-Routine in die Warteschlange, um die interruptgesteuerte E/A-Verarbeitung bei einem niedrigeren IRQL abzuschließen.

Syntax

void IoRequestDpc(
  [in] PDEVICE_OBJECT         DeviceObject,
  [in] PIRP                   Irp,
  [in] __drv_aliasesMem PVOID Context
);

Parameter

[in] DeviceObject

Zeiger auf das Geräteobjekt, für das die Anforderung verarbeitet wird, die den Interrupt verursacht hat.

[in] Irp

Zeiger auf den aktuellen IRP für das angegebene Gerät.

[in] Context

Zeiger auf einen treiberbestimmten Kontext, der an die DPC-Routine übergeben werden soll.

Rückgabewert

Keine

Bemerkungen

Aufrufer von IoRequestDpc müssen unter DIRQL ausgeführt werden.

Treiber rufen IoRequestDpc aus einer InterruptService-Routine auf. Daher wird IoRequestDpc mit dem DIRQL-Wert ausgeführt, der von SynchronizeIrql angegeben wurde, als der Treiber IoConnectInterrupt aufgerufen hat. Es ist jedoch auch möglich, einen DPC bei jedem IRQL >= DISPATCH_LEVEL mithilfe der KeXxxDpc-Routinen in die Warteschlange zu stellen. Weitere Informationen finden Sie unter Welchen DPC-Typ sollten Sie verwenden?

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL DIRQL

Weitere Informationen

IoInitializeDpcRequest

KeInitializeDpc

KeInsertQueueDpc