共用方式為


系統定義的 ECP

[!注意]

某些資訊與發行前版本產品有關,在發行前版本產品可能經過大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

此頁面列出並描述系統定義的額外建立參數 (ECP)。 操作系統會在 Ntifs.h 頭檔中定義這些 ECP。

這些系統定義的 ECP 會將指定的額外資訊附加至 檔案上的IRP_MJ_CREATE 作業。 檔系統堆疊的元素可以查詢 ECP 以取得額外資訊。

一般而言,處理檔案上IRP_MJ_CREATE作業的篩選,然後將檔案向下傳遞至其下方的篩選,不得將任何系統定義的 ECP 附加和詐騙至檔案上的IRP_MJ_CREATE作業。

同樣地,處理和問題 IRP_MJ_CREATE 檔案作業的核心模式驅動程式,不得將任何系統定義的ECP附加和詐騙至 檔案上的IRP_MJ_CREATE 作業。

篩選驅動程式應將系統定義的 ECP 視為唯讀。 您應該使用它們來只擷取資訊。

限制篩選驅動程式附加下列任何系統定義 ECP 的其中一個例外狀況,就是篩選驅動程式實作分層文件系統時。 它會藉由擁有檔案物件,並在篩選條件下方的檔案上發出自己的 IRP_MJ_CREATE 作業,以響應 篩選驅動程式在其本身檔案對象上服務的檔案上的IRP_MJ_CREATE 作業。 這類篩選驅動程式應該將檔案上原始IRP_MJ_CREATE作業的任何ECP_LIST內容結構清單傳播至篩選驅動程式所發出之IRP_MJ_CREATE作業。 藉由傳播這些 ECP 清單,篩選驅動程式可確保發出IRP_MJ_CREATE作業之篩選下的任何篩選都會知道原始IRP_MJ_CREATE作業的內容。

ECP GUID ECP 內容結構和意義
ECP_TYPE_CLFS_CREATE_CONTAINER 用來識別 CREATE_REDIRECTION_ECP_CONTEXT ECP 內容結構的 GUID。 此 ECP 可以傳送至 NTFS,以在磁碟區掛接期間插入新的通用記錄檔系統 (CLFS) 容器。
ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID 識別 IO_STOP_ON_SYMLINK_FILTER_ECP_V0 ECP 內容結構的 GUID。 此 ECP 會限制IO_STOP_ON_SYMLINK的行為,只對指定的重新剖析卷標採取行動。
ECP_TYPE_OPEN_REPARSE_GUID 識別 OPEN_REPARSE_LIST ECP 內容結構的 GUID。 此 ECP 支援呼叫端開啟特定的重新分析點,而不會抑制所有重新分析點類別的重新分析行為。
GUID_ECP_ATOMIC_CREATE 識別 ATOMIC_CREATE_ECP_CONTEXT ECP 內容結構的 GUID。 此 ECP 允許在建立期間以不可部分完成的方式在檔案上執行某些補充作業。
GUID_ECP_CLOUDFILES_ATTRIBUTION 識別雲端檔案屬性 ECP 的 GUID。
GUID_ECP_CREATE_REDIRECTION 用來識別 ECP 的 GUID,可用來查詢特定建立作業之檔案的重新導向狀態。
GUID_ECP_CSV_DOWN_LEVEL_OPEN 識別 CSV_DOWN_LEVEL_OPEN_ECP_CONTEXT ECP 內容結構的 GUID。 叢集共用磁碟區文件系統 (CSVFS) 會將此 ECP 傳送至元數據節點 (MDS),並包含建立類型的相關信息。
GUID_ECP_CSV_QUERY_FILE_REVISION 識別 CSV_QUERY_FILE_REVISION_ECP_CONTEXT ECP 內容結構的 GUID。 此 ECP 可以傳送至 CSVFS 以要求檔案修訂編號。
GUID_ECP_CSV_QUERY_FILE_REVISION_FILE_ID_128 識別 CSV_QUERY_FILE_REVISION_ECP_CONTEXT_FILE_ID_128 ECP 內容結構的 GUID。 此 ECP 可以傳送至 CSVFS 以要求檔案修訂編號。
GUID_ECP_CSV_SET_HANDLE_PROPERTIES 識別 CSV_SET_HANDLE_PROPERTIES_ECP_CONTEXT ECP 內容結構的 GUID。 此 ECP 可以傳送至 CSVFS,以設定應該如何處理 IO 抵達此開啟的屬性。
GUID_ECP_DUAL_OPLOCK_KEY 識別 DUAL OPLOCK_KEY_ECP_CONTEXT ECP 內容結構的 GUID。 如同OPLOCK_KEY_ECP_CONTEXT結構,DUAL OPLOCK_KEY_ECP_CONTEXT可用來將oplock金鑰附加至開啟的檔案要求。 使用 DUAL OPLOCK_KEY_ECP_CONTEXT,也可以將父金鑰設定為提供目標檔案目錄的 oplock。
GUID_ECP_IO_DEVICE_HINT 識別 IO_DEVICE_HINT_ECP_CONTEXT 結構的 GUID。 裝置提示可用來協助名稱提供者迷你篩選驅動程序追蹤新裝置的重新分析目標。
GUID_ECP_NETWORK_APP_INSTANCE 識別 NETWORK_APP_INSTANCE_ECP_CONTEXT ECP 內容結構的 GUID。 故障轉移叢集中的用戶端應用程式可能會在叢集中的節點上開啟一組檔案。 檔案物件會以 NETWORK_APP_INSTANCE_ECP_CONTEXT 結構中的實例標識碼標記至應用程式。 在故障轉移時,次要節點可以使用先前快取的應用程式實例標識碼來驗證用戶端應用程式對已開啟檔案的存取權。
GUID_ECP_NETWORK_APP_INSTANCE_VERSION 識別 NETWORK_APP_INSTANCE_VERSION_ECP_CONTEXT 結構的 GUID,這是應用程式提供其實例識別碼的 ECP 內容。 此 ECP 必須伴隨 NETWORK_APP_INSTANCE_ECP_CONTEXT (GUID_ECP_NETWORK_APP_INSTANCE) 有效。
GUID_ECP_NETWORK_OPEN_CONTEXT 識別 NETWORK_OPEN_ECP_CONTEXT ECP 內容結構的 GUID,用來附加網路重新導向器的額外資訊。 此 GUID 也會識別 在 Windows 7 和更新版本 Windows 上執行的驅動程式NETWORK_OPEN_ECP_CONTEXT_V0 結構,而且必須解譯位於 Windows Vista 上之檔案的網路 ECP 內容。
GUID_ECP_NFS_OPEN 識別 NFS_OPEN_ECP_CONTEXT 結構的 GUID。 網路檔案系統 (NFS) 伺服器會將NFS_OPEN_ECP_CONTEXT結構附加至開啟的檔案要求。 NFS 伺服器會在 NFS 伺服器為了滿足用戶端要求而提出的任何開啟檔案要求上使用這個 GUID。 然後,文件系統堆疊可以判斷NFS_OPEN_ECP_CONTEXT是否附加至開啟的檔案要求。 根據NFS_OPEN_ECP_CONTEXT文件系統堆疊中的資訊,可以判斷要求開啟檔案的用戶端,以及原因。
GUID_ECP_OPEN_PARAMETERS 識別 ECP_OPEN_PARAMETERS ECP 內容結構的 GUID。 這個 ECP 可讓呼叫端指定檔案開啟的目的,而不會干擾檔案上現有的句柄和/或機會鎖定(oplocks)。
GUID_ECP_OPLOCK_KEY 識別 OPLOCK_KEY_ECP_CONTEXT ECP 內容結構的 GUID,用來將 oplock 金鑰附加至開啟的檔案要求。 oplock 機碼可讓應用程式對相同的數據流開啟多個句柄,而不會中斷應用程式自己的 oplock。 如需 oplocks 和 oplock 索引鍵的詳細資訊,請參閱 Oplock Semantics Overview
GUID_ECP_PREFETCH_OPEN 識別 PREFETCH_OPEN_ECP_CONTEXT ECP 內容結構的 GUID。 預先擷取器是與快取管理員和記憶體管理員緊密整合的OS元件,可讓磁碟存取更有效率,進而改善效能。 如果其他元件干擾預先擷取,系統效能會降低,而且可能會死結。 因此,預先擷取會將PREFETCH_OPEN_ECP_CONTEXT結構附加至檔案,以傳達預先擷取程式對檔案執行開啟要求。 這個開啟的要求是由 PREFETCH_OPEN_ECP_CONTEXT 的內容成員所指定。 文件系統篩選驅動程式等其他元件可以判斷PREFETCH_OPEN_ECP_CONTEXT是否附加至檔案,然後採取適當的動作。
GUID_ECP_QUERY_ON_CREATE 識別 ECP 的 GUID,用於建立的查詢檔案資訊。
GUID_ECP_RKF_BYPASS 識別 RKF_BYPASS_ECP_CONTEXT ECP 內容結構的 GUID。
GUID_ECP_SRV_OPEN 識別 SRV_OPEN_ECP_CONTEXT ECP 內容結構的 GUID。 伺服器會將SRV_OPEN_ECP_CONTEXT結構附加至開啟的檔案要求。 伺服器會在伺服器提出以滿足條件式用戶端要求的任何開啟檔案要求上使用這個 GUID。 然後,文件系統堆疊可以判斷SRV_OPEN_ECP_CONTEXT是否附加至開啟的檔案要求。 根據SRV_OPEN_ECP_CONTEXT文件系統堆疊中的資訊,可以判斷要求開啟檔案的用戶端,以及原因。 並非所有從伺服器建立都會攜帶此 ECP。
GUID_ECP_TYPE_VETO_BINDING 識別 ECP 內容結構VETO_BINDING_ECP_CONTEXT 此 ECP 可用來 否決系統開機分割區上的系結連結 。 從 Windows 11 版本 24H2 開始提供。