StorPortSynchronizeAccess-Funktion (storport.h)
Die StorPortSynchronizeAccess-Routine bietet synchronisierten Zugriff auf die Geräteerweiterung eines Miniporttreibers.
Syntax
STORPORT_API BOOLEAN StorPortSynchronizeAccess(
[in] PVOID HwDeviceExtension,
[in] PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
[in, optional] PVOID Context
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Hierbei handelt es sich um einen HBA-Speicherbereich, den der Porttreiber im Auftrag des Miniporttreibers ordnet und initialisiert. Miniporttreiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf des Miniporttreibers StorPortInitialize zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.
[in] SynchronizedAccessRoutine
Zeiger auf eine vom Aufrufer bereitgestellte Routine, deren Ausführung mit der Ausführung des ISR synchronisiert werden soll, der den Interruptobjekten zugeordnet ist. Einen Prototyp dieser Routine finden Sie im Abschnitt Hinweise weiter unten in diesem Thema.
[in, optional] Context
Zeiger auf einen Kontextbereich, der beim Aufruf an die vom Aufrufer bereitgestellte Rückrufroutine übergeben werden soll.
Rückgabewert
Der Rückgabewert aus SynchronizedAccessRoutine.
Hinweise
Miniporttreiber, die im Vollduplexmodus arbeiten und auf Informationen zugreifen, die zwischen ihrer HwStorStartIo-Routine und der Interrupt-Dienstroutine gemeinsam genutzt werden, müssen diese Routine verwenden, um synchronisiert auf die freigegebenen Daten zuzugreifen.
Der Miniporttreiber übergibt eine Rückrufroutine an StorPortSynchronizeAccess, und StorPortSynchronizeAccess ruft sie auf, nachdem der exklusive Zugriff auf vertrauliche Datenstrukturen garantiert wurde. Die Rückrufroutine des Miniporttreibers muss dem folgenden Prototyp entsprechen:
typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
IN PVOID HwDeviceExtension,
IN PVOID Context
);
wobei HwDeviceExtension ein Zeiger auf die Hardwaregeräteerweiterung ist und Context nur ein Zeiger auf dieselben Kontextinformationen ist, die der Aufrufer beim Aufrufen von StorPortSynchronizeAccess angegeben hat.
Weitere Informationen finden Sie unter Synchronisierter Zugriff in nicht synchronisierten Miniport-Treiberroutinen.
Weitere Informationen zu Synchronisierungsroutinen finden Sie unter KeSynchronizeExecution.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | storport.h (einschließlich Storport.h) |
Bibliothek | Storport.lib |