Freigeben über


StorPortIssueDpc-Funktion (storport.h)

Die StorPortIssueDpc-Routine gibt einen Verzögerten Prozeduraufruf (DPC) aus.

Syntax

BOOLEAN StorPortIssueDpc(
  [in] PVOID     DeviceExtension,
  [in] PSTOR_DPC Dpc,
  [in] PVOID     SystemArgument1,
  [in] PVOID     SystemArgument2
);

Parameter

[in] DeviceExtension

Zeiger auf die Geräteerweiterung pro Adapter.

[in] Dpc

Zeiger auf einen Puffer mit einem initialisierten DPC-Objekt vom Typ STOR_DPC von der StorPortInitializeDpc-Routine zurückgegeben.

[in] SystemArgument1

Zeiger auf vom Aufrufer bereitgestellte Informationen, die an die verzögerte Routine übergeben werden.

[in] SystemArgument2

Zeiger auf vom Aufrufer bereitgestellte Informationen, die an die verzögerte Routine übergeben werden.

Rückgabewert

Die StorPortIssueDpc-Routine gibt TRUE zurück, wenn der DPC erfolgreich in die DPC-Warteschlange eingefügt wurde, andernfalls FALSE .

Hinweise

Die StorPortIssueDpc-Routine ruft die Kernelroutine KeInsertQueueDpc auf, um den DPC in die Warteschlange zu stellen. Die Kernelroutine KeInsertQueueDpc lässt es nicht zu, dass ein DPC mehrmals in die Warteschlange gestellt wird. Wenn sich das durch den Dpc-Parameter angegebene DPC-Objekt also bereits in der DPC-Warteschlange befindet, ignoriert KeInsertQueueDpc die Warteschlangenanforderung. Dadurch wird sichergestellt, dass eine verzögerte Routine, die mit StorPortInitializeDpc initialisiert wurde, immer mit sich selbst synchronisiert wird. Mit anderen Worten, der Aufrufer muss keine Aufrufe der StorPortIssueDpc-Routine sequenzieren, um sicherzustellen, dass mehrere Instanzen der Routine nicht gleichzeitig ausgeführt werden.

Wenn ein Miniporttreiber über mehrere Arbeitselemente verfügt, die von demselben DPC ausgeführt werden müssen, muss der Miniporttreiber sicherstellen, dass jedes Arbeitselement abgeschlossen ist, bevor er den DPC für das nächste Arbeitselement ausgibt.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (einschließlich Storport.h)

Weitere Informationen

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc