System-defined ECPs

[!NOTE]

Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

На этой странице перечислены и описываются системные дополнительные параметры создания (ECP). The operating system defines these ECPs in the Ntifs.h header file.

These system-defined ECPs attach the specified extra information to the IRP_MJ_CREATE operation on a file. Элементы стека файловой системы могут запрашивать ECPs для получения дополнительных сведений.

Typically, a filter that processes the IRP_MJ_CREATE operation on a file and then passes the file down to filters below it must not attach and spoof any of the system-defined ECPs to the IRP_MJ_CREATE operation on the file.

Similarly, a kernel-mode driver that processes and issues IRP_MJ_CREATE operations on files must not attach and spoof any system-defined ECPs to the IRP_MJ_CREATE operations on the files.

Драйверы фильтров должны учитывать системные ЕЦП, доступные только для чтения. Их следует использовать для получения только информации.

Одним из исключений, ограничивающих драйвер фильтра при присоединении любого из следующих системных ecPs, является то, когда драйвер фильтра реализует многоуровневую файловую систему. It does this by owning file objects and by issuing its own IRP_MJ_CREATE operations on files below its filter, in response to the IRP_MJ_CREATE operation on a file that the filter driver services on its own file objects. Such a filter driver should propagate any ECP_LIST context structure lists from the original IRP_MJ_CREATE operation on a file to the IRP_MJ_CREATE operations that the filter driver issues below it. By propagating these ECP lists, the filter driver ensures that any filters below the filter that issues the IRP_MJ_CREATE operations are aware of the context of the original IRP_MJ_CREATE operation.

ECP GUID Структура контекста ECP и значение
ECP_TYPE_CLFS_CREATE_CONTAINER The GUID used to identify the CREATE_REDIRECTION_ECP_CONTEXT ECP context structure. Этот ECP можно отправить в NTFS, чтобы вставить новый общий контейнер файловой системы журнала (CLFS) во время подключения тома.
ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID The GUID that identifies the IO_STOP_ON_SYMLINK_FILTER_ECP_v0 ECP context structure. Этот ECP ограничивает поведение IO_STOP_ON_SYMLINK только для выполнения указанных тегов повторного выполнения.
ECP_TYPE_OPEN_REPARSE_GUID The GUID that identifies the OPEN_REPARSE_LIST ECP context structure. Этот ECP поддерживает открытие определенных точек повторного анализа без подавления поведения повторного анализа для всех классов точек повторного анализа.
GUID_ECP_ATOMIC_CREATE The GUID that identifies the ATOMIC_CREATE_ECP_CONTEXT ECP context structure. Этот ECP позволяет выполнять некоторые дополнительные операции в файле атомарно во время создания.
GUID_ECP_CLOUDFILES_ATTRIBUTION GUID, определяющий ECP для облачных файлов, атрибуция.
GUID_ECP_CREATE_REDIRECTION GUID, используемый для идентификации ECP, который можно отправить для запроса состояния перенаправления файла для определенной операции создания.
GUID_ECP_CSV_DOWN_LEVEL_OPEN The GUID that identifies the CSV_DOWN_LEVEL_OPEN_ECP_CONTEXT ECP context structure. Файловая система общих томов кластера (CSVFS) отправляет этот ECP в узел метаданных (MDS) и содержит сведения о типе создания.
GUID_ECP_CSV_QUERY_FILE_REVISION The GUID that identifies the CSV_QUERY_FILE_REVISION_ECP_CONTEXT ECP context structure. Этот ECP можно отправить в CSVFS, чтобы запросить номер редакции файла.
GUID_ECP_CSV_QUERY_FILE_REVISION_FILE_ID_128 The GUID that identifies the CSV_QUERY_FILE_REVISION_ECP_CONTEXT_FILE_ID_128 ECP context structure. Этот ECP можно отправить в CSVFS, чтобы запросить номер редакции файла.
GUID_ECP_CSV_SET_HANDLE_PROPERTIES The GUID that identifies the CSV_SET_HANDLE_PROPERTIES_ECP_CONTEXT ECP context structure. Этот ECP можно отправить в CSVFS, чтобы задать свойства о том, как он должен обрабатывать операции ввода-вывода, поступающие в этот открытый.
GUID_ECP_DUAL_OPLOCK_KEY The GUID that identifies the DUAL OPLOCK_KEY_ECP_CONTEXT ECP context structure. Like the OPLOCK_KEY_ECP_CONTEXT structure, DUAL OPLOCK_KEY_ECP_CONTEXT is used to attach an oplock key to the open file request. With DUAL OPLOCK_KEY_ECP_CONTEXT, a parent key can also be set to provide an oplock for a target file's directory.
GUID_ECP_IO_DEVICE_HINT A GUID that identifies the IO_DEVICE_HINT_ECP_CONTEXT structure. Подсказки устройств используются для поддержки драйверов мини-фильтра поставщика имен для отслеживания целевого объекта повторного анализа на новое устройство.
GUID_ECP_NETWORK_APP_INSTANCE The GUID that identifies the NETWORK_APP_INSTANCE_ECP_CONTEXT ECP context structure. Клиентское приложение в отказоустойчивом кластере может иметь набор файлов, открытых на узле в кластере. The file objects are tagged to an application by an instance identifier in the NETWORK_APP_INSTANCE_ECP_CONTEXT structure. При отработе отказа дополнительный узел может проверить доступ клиентского приложения к открытым файлам с идентификатором ранее кэшированного экземпляра приложения.
GUID_ECP_NETWORK_APP_INSTANCE_VERSION The GUID that identifies the NETWORK_APP_INSTANCE_VERSION_ECP_CONTEXT structure, which is an ECP context for an application to provide its instance ID. This ECP must accompany a NETWORK_APP_INSTANCE_ECP_CONTEXT (GUID_ECP_NETWORK_APP_INSTANCE) to be valid.
GUID_ECP_NETWORK_OPEN_CONTEXT The GUID that identifies the NETWORK_OPEN_ECP_CONTEXT ECP context structure and is used to attach extra information for network redirectors. This GUID also identifies the NETWORK_OPEN_ECP_CONTEXT_V0 structure for drivers that run on Windows 7 and later versions of Windows and that must interpret network ECP contexts on files that reside on Windows Vista.
GUID_ECP_NFS_OPEN The GUID that identifies the NFS_OPEN_ECP_CONTEXT structure. Сервер сетевой файловой системы (NFS) подключает структуру NFS_OPEN_ECP_CONTEXT к открытому запросу на файл. Сервер NFS использует этот GUID в любом открытом запросе файла, который выполняет сервер NFS для удовлетворения клиентского запроса. Затем стек файловой системы может определить, подключен ли NFS_OPEN_ECP_CONTEXT к открытому запросу на файл. На основе сведений в NFS_OPEN_ECP_CONTEXT стек файловой системы может определить клиент, запрашивающий открытие файла и почему.
GUID_ECP_OPEN_PARAMETERS The GUID that identifies the ECP_OPEN_PARAMETERS ECP context structure. Этот ECP позволяет вызывающей стороне указать назначение открытого файла без вмешательства в существующие дескрипторы и (или) оппортунистические блокировки (оплоки) в файле.
GUID_ECP_OPLOCK_KEY The GUID that identifies the OPLOCK_KEY_ECP_CONTEXT ECP context structure and is used to attach an oplock key to the open file request. Ключ oplock позволяет приложению открывать несколько дескрипторов в одном потоке без нарушения собственной блокировки приложения. Дополнительные сведения о блокировках и ключах оплока см. в обзоре семантики Oplock.
GUID_ECP_PREFETCH_OPEN The GUID that identifies the PREFETCH_OPEN_ECP_CONTEXT ECP context structure. Предварительная версия — это компонент ОС, который тесно интегрирован с диспетчером кэша и диспетчером памяти, чтобы сделать доступ к диску более эффективным и, следовательно, повысить производительность. Если другие компоненты препятствуют предварительному выбору, производительность системы снижается и может привести к взаимоблокировке. Поэтому префетчер присоединяет структуру PREFETCH_OPEN_ECP_CONTEXT к файлу, чтобы сообщить, что префетчер выполняет открытый запрос к файлу. This open request is specified by the Context member of PREFETCH_OPEN_ECP_CONTEXT. Другие компоненты, такие как драйверы фильтров файловой системы, могут определить, присоединены ли PREFETCH_OPEN_ECP_CONTEXT к файлу, а затем выполнить соответствующие действия.
GUID_ECP_QUERY_ON_CREATE GUID, определяющий ECP для получения сведений о файле запроса при создании.
GUID_ECP_RKF_BYPASS The GUID that identifies the RKF_BYPASS_ECP_CONTEXT ECP context structure.
GUID_ECP_SRV_OPEN The GUID that identifies the SRV_OPEN_ECP_CONTEXT ECP context structure. Сервер присоединяет структуру SRV_OPEN_ECP_CONTEXT к открытому запросу на файл. Сервер использует этот GUID для любого открытого запроса на файл, который сервер делает для удовлетворения условного запроса клиента. Затем стек файловой системы может определить, подключен ли SRV_OPEN_ECP_CONTEXT к открытому запросу на файл. На основе сведений в SRV_OPEN_ECP_CONTEXT стек файловой системы может определить клиент, запрашивающий открытие файла и почему. Не все создаются на серверах, которые несут этот ECP.
GUID_ECP_TYPE_VETO_BINDING Identifies the VETO_BINDING_ECP_CONTEXT ECP context structure. Этот ECP можно использовать для вето на привязку ссылки на секцию загрузки системы. Доступно начиная с Windows 11 версии 24H2.