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) |