共用方式為


StorPortSynchronizeAccess 函式 (storport.h)

StorPortSynchronizeAccess 例程提供迷你埠驅動程式裝置擴充功能的同步存取。

語法

STORPORT_API BOOLEAN StorPortSynchronizeAccess(
  [in]           PVOID                     HwDeviceExtension,
  [in]           PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
  [in, optional] PVOID                     Context
);

參數

[in] HwDeviceExtension

硬體裝置擴充功能的指標。 這是每個 HBA 儲存區域,埠驅動程式會代表迷你埠驅動程式配置和初始化。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 迷你埠驅動程式會在迷你埠驅動程式呼叫 StorPortInitialize 之後立即提供此區域。 埠驅動程式會在移除裝置時釋放此記憶體。

[in] SynchronizedAccessRoutine

呼叫端提供的例程指標,其執行是要與中斷對象相關聯的ISR執行進行同步處理。 如需此例程的原型,請參閱本主題稍後的一節。

[in, optional] Context

呼叫時要傳遞至呼叫端所提供回呼例程的內容區域指標。

傳回值

SynchronizedAccessRoutine 的傳回值。

備註

以全雙工模式運作的迷你埠驅動程式,以及存取其 HwStorStartIo 例程和中斷服務例程之間共用的信息,必須使用此例程以同步方式存取共享數據。

迷你埠驅動程式會將回呼例程傳遞給 StorPortSynchronizeAccess,而 StorPortSynchronizeAccess 會在保證敏感數據結構的獨佔存取權之後呼叫它。 迷你埠驅動程式的回呼例程必須符合下列原型:

typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
  IN PVOID HwDeviceExtension,
 IN PVOID Context
  );

其中 HwDeviceExtension 是硬體裝置擴充功能的指標, 而 Context 只是呼叫 StorPortSynchronizeAccess 時所提供之相同內容資訊的指標。

如需詳細資訊,請參閱 未同步處理的 Miniport 驅動程式例程內的同步存取

如需同步處理例程的詳細資訊,請參閱 KeSynchronizeExecution

規格需求

需求
目標平台 Universal
標頭 storport.h (包含 Storport.h)
程式庫 Storport.lib

另請參閱

KeSynchronizeExecution