Системные ЕЦП
[!ПРИМЕЧАНИЕ]
Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
На этой странице перечислены и описываются системные дополнительные параметры создания (ECP). Операционная система определяет эти ECP в файле заголовка Ntifs.h .
Эти системные ЕЦП присоединяют указанные дополнительные сведения к операции IRP_MJ_CREATE в файле. Элементы стека файловой системы могут запрашивать ECPs для получения дополнительных сведений.
Как правило, фильтр, который обрабатывает операцию IRP_MJ_CREATE в файле, а затем передает файл вниз к фильтрам ниже, он не должен присоединять и спуфинировать любой из системных ECPs к операции IRP_MJ_CREATE в файле.
Аналогичным образом драйвер режима ядра, который обрабатывает и выдает IRP_MJ_CREATE операции с файлами, не должны присоединять и подделывать какие-либо системные ecPs к IRP_MJ_CREATE операциям с файлами.
Драйверы фильтров должны учитывать системные ЕЦП, доступные только для чтения. Их следует использовать для получения только информации.
Одним из исключений, ограничивающих драйвер фильтра при присоединении любого из следующих системных ecPs, является то, когда драйвер фильтра реализует многоуровневую файловую систему. Это делается путем владения объектами файлов и путем выдачи собственных IRP_MJ_CREATE операций с файлами под фильтром, в ответ на операцию IRP_MJ_CREATE в файле, который службы драйвера фильтра выполняются в своих собственных файлах. Такой драйвер фильтра должен распространять все списки структур контекста ECP_LIST из исходной IRP_MJ_CREATE операции в файле к операциям IRP_MJ_CREATE, которые драйвер фильтра выдает под ним. Распространяя эти списки ECP, драйвер фильтра гарантирует, что все фильтры под фильтром, который выдает операции IRP_MJ_CREATE , осведомлены о контексте исходной операции IRP_MJ_CREATE .
ECP GUID | Структура контекста ECP и значение |
---|---|
ECP_TYPE_CLFS_CREATE_CONTAINER | GUID, используемый для идентификации структуры контекста CREATE_REDIRECTION_ECP_CONTEXT ECP. Этот ECP можно отправить в NTFS, чтобы вставить новый общий контейнер файловой системы журнала (CLFS) во время подключения тома. |
ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID | GUID, определяющий структуру контекста IO_STOP_ON_SYMLINK_FILTER_ECP_v0 ECP. Этот ECP ограничивает поведение IO_STOP_ON_SYMLINK только для выполнения указанных тегов повторного выполнения. |
ECP_TYPE_OPEN_REPARSE_GUID | GUID, определяющий структуру контекста OPEN_REPARSE_LIST ECP. Этот ECP поддерживает открытие определенных точек повторного анализа без подавления поведения повторного анализа для всех классов точек повторного анализа. |
GUID_ECP_ATOMIC_CREATE | GUID, определяющий структуру контекста ATOMIC_CREATE_ECP_CONTEXT ECP. Этот ECP позволяет выполнять некоторые дополнительные операции в файле атомарно во время создания. |
GUID_ECP_CLOUDFILES_ATTRIBUTION | GUID, определяющий ECP для облачных файлов, атрибуция. |
GUID_ECP_CREATE_REDIRECTION | GUID, используемый для идентификации ECP, который можно отправить для запроса состояния перенаправления файла для определенной операции создания. |
GUID_ECP_CSV_DOWN_LEVEL_OPEN | GUID, определяющий структуру контекста CSV_DOWN_LEVEL_OPEN_ECP_CONTEXT ECP. Файловая система общих томов кластера (CSVFS) отправляет этот ECP в узел метаданных (MDS) и содержит сведения о типе создания. |
GUID_ECP_CSV_QUERY_FILE_REVISION | GUID, определяющий структуру контекста CSV_QUERY_FILE_REVISION_ECP_CONTEXT ECP. Этот ECP можно отправить в CSVFS, чтобы запросить номер редакции файла. |
GUID_ECP_CSV_QUERY_FILE_REVISION_FILE_ID_128 | GUID, определяющий структуру контекста CSV_QUERY_FILE_REVISION_ECP_CONTEXT_FILE_ID_128 ECP. Этот ECP можно отправить в CSVFS, чтобы запросить номер редакции файла. |
GUID_ECP_CSV_SET_HANDLE_PROPERTIES | GUID, определяющий структуру контекста CSV_SET_HANDLE_PROPERTIES_ECP_CONTEXT ECP. Этот ECP можно отправить в CSVFS, чтобы задать свойства о том, как он должен обрабатывать операции ввода-вывода, поступающие в этот открытый. |
GUID_ECP_DUAL_OPLOCK_KEY | GUID, определяющий структуру контекста двойного OPLOCK_KEY_ECP_CONTEXT ECP. Как и структура OPLOCK_KEY_ECP_CONTEXT, двойной OPLOCK_KEY_ECP_CONTEXT используется для присоединения ключа oplock к открытому запросу файла. При использовании двойного OPLOCK_KEY_ECP_CONTEXT родительский ключ также можно задать для предоставления оплока для каталога целевого файла. |
GUID_ECP_IO_DEVICE_HINT | GUID, определяющий структуру IO_DEVICE_HINT_ECP_CONTEXT . Подсказки устройств используются для поддержки драйверов мини-фильтра поставщика имен для отслеживания целевого объекта повторного анализа на новое устройство. |
GUID_ECP_NETWORK_APP_INSTANCE | GUID, определяющий структуру контекста NETWORK_APP_INSTANCE_ECP_CONTEXT ECP. Клиентское приложение в отказоустойчивом кластере может иметь набор файлов, открытых на узле в кластере. Объекты файлов помечены приложением идентификатором экземпляра в структуре NETWORK_APP_INSTANCE_ECP_CONTEXT . При отработе отказа дополнительный узел может проверить доступ клиентского приложения к открытым файлам с идентификатором ранее кэшированного экземпляра приложения. |
GUID_ECP_NETWORK_APP_INSTANCE_VERSION | GUID, определяющий структуру NETWORK_APP_INSTANCE_VERSION_ECP_CONTEXT , которая является контекстом ECP приложения для предоставления идентификатора экземпляра. Этот ECP должен сопровождать NETWORK_APP_INSTANCE_ECP_CONTEXT (GUID_ECP_NETWORK_APP_INSTANCE), чтобы быть допустимым. |
GUID_ECP_NETWORK_OPEN_CONTEXT | ИДЕНТИФИКАТОР GUID, определяющий структуру контекста NETWORK_OPEN_ECP_CONTEXT ECP и используемый для подключения дополнительных сведений для сетевых перенаправлений. Этот GUID также определяет структуру NETWORK_OPEN_ECP_CONTEXT_V0 драйверов, работающих в Windows 7 и более поздних версиях Windows, и которые должны интерпретировать контексты ECP сети в файлах, которые находятся в Windows Vista. |
GUID_ECP_NFS_OPEN | GUID, определяющий структуру NFS_OPEN_ECP_CONTEXT . Сервер сетевой файловой системы (NFS) подключает структуру NFS_OPEN_ECP_CONTEXT к открытому запросу на файл. Сервер NFS использует этот GUID в любом открытом запросе файла, который выполняет сервер NFS для удовлетворения клиентского запроса. Затем стек файловой системы может определить, подключен ли NFS_OPEN_ECP_CONTEXT к открытому запросу на файл. На основе сведений в NFS_OPEN_ECP_CONTEXT стек файловой системы может определить клиент, запрашивающий открытие файла и почему. |
GUID_ECP_OPEN_PARAMETERS | GUID, определяющий структуру контекста ECP_OPEN_PARAMETERS ECP. Этот ECP позволяет вызывающей стороне указать назначение открытого файла без вмешательства в существующие дескрипторы и (или) оппортунистические блокировки (оплоки) в файле. |
GUID_ECP_OPLOCK_KEY | GUID, определяющий структуру контекста OPLOCK_KEY_ECP_CONTEXT ECP и используемый для присоединения ключа oplock к открытому запросу на файл. Ключ oplock позволяет приложению открывать несколько дескрипторов в одном потоке без нарушения собственной блокировки приложения. Дополнительные сведения о блокировках и ключах оплока см. в обзоре семантики Oplock. |
GUID_ECP_PREFETCH_OPEN | GUID, определяющий структуру контекста PREFETCH_OPEN_ECP_CONTEXT ECP. Предварительная версия — это компонент ОС, который тесно интегрирован с диспетчером кэша и диспетчером памяти, чтобы сделать доступ к диску более эффективным и, следовательно, повысить производительность. Если другие компоненты препятствуют предварительному выбору, производительность системы снижается и может привести к взаимоблокировке. Поэтому префетчер присоединяет структуру PREFETCH_OPEN_ECP_CONTEXT к файлу, чтобы сообщить, что префетчер выполняет открытый запрос к файлу. Этот открытый запрос указывается членом контекста PREFETCH_OPEN_ECP_CONTEXT. Другие компоненты, такие как драйверы фильтров файловой системы, могут определить, присоединены ли PREFETCH_OPEN_ECP_CONTEXT к файлу, а затем выполнить соответствующие действия. |
GUID_ECP_QUERY_ON_CREATE | GUID, определяющий ECP для получения сведений о файле запроса при создании. |
GUID_ECP_RKF_BYPASS | GUID, определяющий структуру контекста RKF_BYPASS_ECP_CONTEXT ECP. |
GUID_ECP_SRV_OPEN | GUID, определяющий структуру контекста SRV_OPEN_ECP_CONTEXT ECP. Сервер присоединяет структуру SRV_OPEN_ECP_CONTEXT к открытому запросу на файл. Сервер использует этот GUID для любого открытого запроса на файл, который сервер делает для удовлетворения условного запроса клиента. Затем стек файловой системы может определить, подключен ли SRV_OPEN_ECP_CONTEXT к открытому запросу на файл. На основе сведений в SRV_OPEN_ECP_CONTEXT стек файловой системы может определить клиент, запрашивающий открытие файла и почему. Не все создаются на серверах, которые несут этот ECP. |
GUID_ECP_TYPE_VETO_BINDING | Определяет структуру контекста VETO_BINDING_ECP_CONTEXT ECP. Этот ECP можно использовать для вето на привязку ссылки на секцию загрузки системы. Доступно начиная с Windows 11 версии 24H2. |