Freigeben über


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. Dies ist ein HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers zuweist und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf StorPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es 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 weiter unten in diesem Thema im Abschnitt "Hinweise".

[in, optional] Context

Zeiger auf einen Kontextbereich, der an die vom Aufrufer bereitgestellte Rückrufroutine übergeben werden soll.

Rückgabewert

Der Rückgabewert von SynchronizedAccessRoutine.

Bemerkungen

Miniporttreiber, die im Vollduplexmodus arbeiten und auf Informationen zugreifen, die zwischen ihren HwStorStartIo Routine und Interrupt-Service-Routine gemeinsam genutzt werden, müssen diese Routine verwenden, um auf synchronisierte Weise 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
  );

Dabei ist HwDeviceExtension- ein Zeiger auf die Hardwaregeräteerweiterung, und Context- ist nur ein Zeiger auf die gleichen Kontextinformationen, die der Aufrufer beim Aufrufen StorPortSynchronizeAccessbereitgestellt hat.

Weitere Informationen finden Sie unter Synchronisierten Zugriff in nicht synchronisierten Miniport-Treiberroutinen.

Weitere Informationen zu Synchronisierungsroutinen finden Sie unter KeSynchronizeExecution.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- storport.h (include Storport.h)
Library Storport.lib

Siehe auch

KeSynchronizeExecution