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 |