FltAcquirePushLockExclusiveEx 函式 (fltkernel.h)
FltAcquirePushLockExclusiveEx 例程會取得指定的推送鎖定,以供呼叫線程獨佔存取。
語法
VOID FLTAPI FltAcquirePushLockExclusiveEx(
[in, out] PEX_PUSH_LOCK PushLock,
ULONG Flags
);
參數
[in, out] PushLock
不透明推播鎖定指標。 此指標必須由先前呼叫 FltInitializePushLock 初始化。
Flags
旗標的位掩碼,可控制鎖定的屬性。 旗標 可以是下列值。
旗標 | 意義 |
---|---|
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST | 停用推播鎖定自動提升。 |
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST | 廢棄;沒有作用。 啟用推播鎖定自動提升。 |
傳回值
無。
備註
FltAcquirePushLockExclusiveEx 會取得指定的推送鎖定,以供呼叫線程獨佔存取。
推播鎖定類似於 ERESOURCE 結構, (也稱為資源) ,因此可以取得資源以進行共用或獨佔存取。 如需推送鎖定的詳細資訊,請參閱 FltInitializePushLock 的參考專案。
不同於ERESOURCE結構,推播鎖定無法以遞歸方式取得。 如果呼叫端已經取得獨佔或共用存取的推送鎖定,線程將會停止回應。
當呼叫端獲得給定推播鎖定的獨佔存取權時,取決於下列各項:
如果推送鎖定目前未擁有,則會立即將獨佔存取權授與目前線程。
如果已取得推送鎖定供另一個線程獨佔或共用存取,則目前的線程會進入等候狀態,直到取得推送鎖定為止。
規格需求
需求 | 值 |
---|---|
標頭 | fltkernel.h |
程式庫 | FltMgr.lib |