ExAcquirePushLockExclusive 巨集 (wdm.h)
取得呼叫線程的指定推送鎖定,以取得獨佔存取權。
語法
void ExAcquirePushLockExclusive(
Lock
);
參數
Lock
不透明推入鎖定指標。 這個指標必須由先前呼叫 ExInitializePushLock初始化。
傳回值
沒有
言論
推送鎖定類似於 ERESOURCE 結構(也稱為資源),因為它們可以取得共用或獨佔存取權。 如需推送鎖定的詳細資訊,請參閱 ExInitializePushLock的參考專案。
不同於ERESOURCE結構,推入鎖定無法以遞歸方式取得。 如果呼叫端已經取得獨佔或共用存取的推送鎖定,線程就會停止回應。 當呼叫端獲得指定推播鎖定的獨佔存取權時,取決於下列各項:
如果推送鎖定目前未擁有,則會立即將獨佔存取權授與目前的線程。
如果已取得推送鎖定供另一個線程進行獨佔或共用存取,則目前的線程會進入等候狀態,直到可以取得推送鎖定為止。
呼叫此例程之前,驅動程式必須藉由呼叫 KeEnterCriticalRegion來停用一般核心 APC 傳遞。 藉由呼叫 KeLeaveCriticalRegion來釋放推播鎖定之後,可重新啟用傳遞。 如需詳細資訊,請參閱 停用 APC。
若要在取得推送鎖定之後釋放,請呼叫 ExReleasePushLockExclusive。 每次對 ExAcquirePushLockExclusive 的呼叫都必須與後續呼叫 ExReleasePushLockExclusive相符。
若要取得共用存取的推送鎖定,請呼叫 ExAcquirePushLockShared。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1809 |
標頭 | wdm.h |