OPLOCK_KEY_ECP_CONTEXT 結構 (ntifs.h)
OPLOCK_KEY_ECP_CONTEXT 結構可用來將 oplock 機碼附加至檔案。 此結構已過時供 Windows 8 和更新版本使用;篩選應該改用DUAL_OP_LOCK_KEY_ECP_CONTEXT。
語法
typedef struct _OPLOCK_KEY_ECP_CONTEXT {
GUID OplockKey;
ULONG Reserved;
} OPLOCK_KEY_ECP_CONTEXT, *POPLOCK_KEY_ECP_CONTEXT;
成員
OplockKey
oplock 金鑰的 GUID。 此 GUID 會在不同的句柄之間共用,並將它們識別為屬於相同用戶端快取。 當兩個句柄共用相同的oplock 金鑰時,在一個句柄上執行的要求將不會中斷另一個句柄上的未完成的oplock。
Reserved
保留的。 必須設定為零。
備註
如需有關如何在建立檔案時使用 ECP 將額外資訊與檔案產生關聯的資訊,請參閱 搭配使用額外的建立參數與IRP_MJ_CREATE作業。
迷你篩選不應該在看到來自上述的 ECP 時,改變OPLOCK_KEY_ECP_CONTEXT結構的內容。 您應該使用它來只擷取 oplock 金鑰 ECP 的相關信息。 如需此問題的詳細資訊,請參閱 系統定義的 ECP。
oplock 機碼可讓應用程式開啟相同數據流的多個句柄,而不會中斷應用程式自己的 oplock。 只有在應用程式收到共享違規 (STATUS_SHARING_VIOLATION) 之後,才會發生 oplock 中斷。
開啟數據流時,會在數據流句柄上授與 Oplock。 這類數據流句柄可以與oplock金鑰相關聯。 呼叫端可以明確提供 IoCreateFileEx 例程的oplock金鑰,以建立數據流句柄。 如果呼叫端在呼叫端建立句柄時未明確指定 oplock 密鑰,則操作系統會將句柄視為具有與句柄相關聯的唯一 oplock 密鑰,讓句柄的密鑰與其他任何句柄上的任何其他索引鍵不同。 如果在授與 oplock 的句柄以外的句柄上收到檔案作業,且與 oplock 句柄相關聯的 oplock 密鑰與與作業句柄相關聯的密鑰不同,且該作業與目前授與的 oplock 不相容,則該作業會中斷。 即使作業是執行不相容作業的相同進程或線程,作業鎖定也會中斷。 例如,如果進程開啟授與獨佔 oplock 的數據流,且相同進程會再次開啟相同的數據流,方法是使用不同的 (或沒有) oplock 索引鍵,則會立即中斷獨佔的 oplock。
建立句柄時,Oplock 索引鍵會與句柄相關聯。 即使未授與 oplock,您也可以將句柄與 oplock 密鑰產生關聯。
如需 oplock 和 oplock 金鑰的詳細資訊,請參閱 Oplock 語意概觀。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7;從 Windows 8 開始過時 |
標頭 | ntifs.h |