exAcquireSpinLockShared 函式 (wdm.h)
ExAcquireSpinLockShared 例程會取得呼叫端共用存取的微調鎖定,並引發 IRQL 以DISPATCH_LEVEL。
語法
KIRQL ExAcquireSpinLockShared(
[in, out] PEX_SPIN_LOCK SpinLock
);
參數
[in, out] SpinLock
要取得共用存取之微調鎖定的指標。 呼叫端不得已經擁有這個微調鎖定。
傳回值
ExAcquireSpinLockShared 例程會傳回先前的 IRQL 值。 如需詳細資訊,請參閱備註一節。
備註
在進入此例程時,呼叫端必須在 IRQL <= DISPATCH_LEVEL上執行。 此例程會引發 IRQL 以DISPATCH_LEVEL,並傳回原始 (輸入) IRQL 值。
若要釋放微調鎖定,請呼叫 ExReleaseSpinLockShared 例程。 ExReleaseSpinLockShared 會將 IRQL 還原為 在 ExAcquireSpinLockShared 專案上擁有的原始值。
微調鎖定是EX_SPIN_LOCK類型的32位變數。 驅動程式必須配置微調鎖定的記憶體,並將微調鎖定初始化為零。 此記憶體必須位於非分頁的系統空間記憶體中。
呼叫端應該在釋放它之前,先短暫保留微調鎖定。 如需詳細資訊,請參閱 微調鎖定簡介。
遞歸擷取微調鎖定會導致死結,而且不允許。
規格需求
需求 | 值 |
---|---|
標頭 | wdm.h |
IRQL | DISPATCH_LEVEL (请参阅备注.) |