Systemdefinierte ECPs
[!NOTE]
Einige Informationen beziehen sich auf Vorabversionen, die vor der kommerziellen Freigabe grundlegend geändert werden können. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Auf dieser Seite werden vom System definierte zusätzliche Erstellungsparameter (ECPs) aufgelistet und beschrieben. Das Betriebssystem definiert diese ECPs in der Ntifs.h-Headerdatei.
Diese vom System definierten ECPs fügen die angegebenen zusätzlichen Informationen an den IRP_MJ_CREATE Vorgang einer Datei an. Elemente des Dateisystemstapels können die ECPs nach zusätzlichen Informationen abfragen.
In der Regel darf ein Filter, der den IRP_MJ_CREATE Vorgang in einer Datei verarbeitet und die Datei dann an Filter unten weitergibt, keine systemdefinierte ECPs an den IRP_MJ_CREATE Vorgang in der Datei anfügen und spoofen.
Ebenso darf ein Kernel-Modus-Treiber, der IRP_MJ_CREATE-Vorgänge für Dateien verarbeitet und ausführt, keine systemdefinierten ECPs an die IRP_MJ_CREATE-Vorgänge für die Dateien anhängen und fälschen.
Filtertreiber sollten systemdefinierte ECPs als schreibgeschützt betrachten. Sie sollten diese nur zum Abrufen von Informationen verwenden.
Eine Ausnahme beim Einschränken der Anfügung eines der folgenden systemdefinierten ECPs durch einen Filtertreiber besteht darin, dass der Filtertreiber ein mehrschichtiges Dateisystem implementiert. Dies geschieht, indem es Dateiobjekte besitzt und als Reaktion auf den VorgangIRP_MJ_CREATE für eine Datei, die der Filter ist, eigeneIRP_MJ_CREATE-Vorgänge für Dateien ausführt, den der Filtertreiber für seine eigenen Dateiobjekte bedient. Ein solcher Filtertreiber sollte alle ECP_LIST- Kontextstrukturlisten aus dem ursprünglichen IRP_MJ_CREATE-Vorgang für eine Datei an die IRP_MJ_CREATE Vorgänge weitergeben, die der Filtertreiber darunter ausgibt. Durch die Verteilung dieser ECP-Listen stellt der Filtertreiber sicher, dass alle Filter unterhalb des Filters, die die IRP_MJ_CREATE-Vorgänge ausgibt, den Kontext des ursprünglichen IRP_MJ_CREATE-Vorgangs kennen.
ECP-GUID | ECP-Kontextstruktur und Bedeutung |
---|---|
ECP_TYPE_CLFS_CREATE_CONTAINER | Die GUID, die verwendet wird, um die CREATE_REDIRECTION_ECP_CONTEXT ECP-Kontextstruktur zu identifizieren. Dieser ECP kann an NTFS gesendet werden, um während der Volume-Bereitstellung einen neuen gemeinsamen CLFS-Container (Common Log File System) einzufügen. |
ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID | Die GUID, die die IO_STOP_ON_SYMLINK_FILTER_ECP_v0 ECP-Kontextstruktur identifiziert. Dieser ECP schränkt das Verhalten von IO_STOP_ON_SYMLINK auf bestimmte Analysetags ein. |
ECP_TYPE_OPEN_REPARSE_GUID | Die GUID, die die OPEN_REPARSE_LIST ECP-Kontextstruktur identifiziert. Dieses ECP unterstützt Aufrufer, die bestimmte Analysepunkte öffnen, ohne das Analyseverhalten für alle Klassen von Analysepunkten zu verhindern. |
GUID_ECP_ATOMIC_CREATE | Die GUID, die die ATOMIC_CREATE_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Dieses ECP ermöglicht die atomare Ausführung bestimmter zusätzlicher Vorgänge an einer Datei während der Erstellung. |
GUID_ECP_CLOUDFILES_ATTRIBUTION | Die GUID, die die ECP für die Zuordnung von Clouddateien identifiziert. |
GUID_ECP_CREATE_REDIRECTION | Die GUID, die verwendet wird, um den ECP zu identifizieren, der an den Umleitungsstatus einer Datei für einen bestimmten Erstellungsvorgang gesendet werden kann. |
GUID_ECP_CSV_DOWN_LEVEL_OPEN | Die GUID, die die CSV_DOWN_LEVEL_OPEN_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Das Dateisystem für freigegebene Clustervolumes (Cluster Shared Volumes File System, CSVFS) sendet dieses ECP an den Metadatenknoten (Metadata Node, MDS) und enthält Informationen zum Typ der Erstellung. |
GUID_ECP_CSV_QUERY_FILE_REVISION | Die GUID, die die CSV_QUERY_FILE_REVISION_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Dieses ECP kann an CSVFS gesendet werden, um eine Dateirevisionsnummer anzufordern. |
GUID_ECP_CSV_QUERY_FILE_REVISION_FILE_ID_128 | Die GUID, die die CSV_QUERY_FILE_REVISION_ECP_CONTEXT_FILE_ID_128 ECP-Kontextstruktur identifiziert. Dieses ECP kann an CSVFS gesendet werden, um eine Dateirevisionsnummer anzufordern. |
GUID_ECP_CSV_SET_HANDLE_PROPERTIES | Die GUID, die die CSV_SET_HANDLE_PROPERTIES_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Dieses ECP kann an CSVFS gesendet werden, um Eigenschaften festzulegen, wie es mit bei dieser Öffnung eingehenden E/A umgehen soll. |
GUID_ECP_DUAL_OPLOCK_KEY | Die GUID, die die DUAL_KEY_LEVEL_OPEN_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Wie die OPLOCK_KEY_ECP_CONTEXT Struktur wird DUAL OPLOCK_KEY_ECP_CONTEXT verwendet, um eine Oplock-Taste an die geöffnete Dateianforderung anzufügen. Mit DUAL OPLOCK_KEY_ECP_CONTEXT kann auch ein übergeordneter Schlüssel festgelegt werden, um ein Oplock für das Verzeichnis einer Zieldatei bereitzustellen. |
GUID_ECP_IO_DEVICE_HINT | Eine GUID, die die IO_DEVICE_HINT_ECP_CONTEXT Struktur identifiziert. Gerätehinweise werden verwendet, um Namensanbieter-Minifiltertreiber bei der Nachverfolgung eines Analyseziels auf neues Gerät zu unterstützen. |
GUID_ECP_NETWORK_APP_INSTANCE | Die GUID, die die NETWORK_APP_INSTANCE_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Eine Clientanwendung in einem Failovercluster verfügt möglicherweise über eine Reihe von Dateien, die auf einem Knoten im Cluster geöffnet sind. Die Dateiobjekte werden durch einen Instanzbezeichner in der NETWORK_APP_INSTANCE_ECP_CONTEXT-Struktur auf eine Anwendung markiert. Bei einem Failover kann ein sekundärer Knoten den Zugriff einer Clientanwendung auf die geöffneten Dateien anhand der zuvor zwischengespeicherten Anwendungsinstanzkennung validieren. |
GUID_ECP_NETWORK_APP_INSTANCE_VERSION | Die GUID, die die Struktur NETWORK_APP_INSTANCE_VERSION_ECP_CONTEXT identifiziert, die einen ECP-Kontext für eine Anwendung zur Bereitstellung ihrer Instanz-ID darstellt. Dieser ECP muss eine gültige NETWORK_APP_INSTANCE_ECP_CONTEXT (GUID_ECP_NETWORK_APP_INSTANCE) begleiten. |
GUID_ECP_NETWORK_OPEN_CONTEXT | Die GUID, die die NETWORK_OPEN_ECP_CONTEXT ECP-Kontextstruktur identifiziert und zum Anfügen zusätzlicher Informationen für Netzwerkumleitungen verwendet wird. Diese GUID identifiziert auch die NETWORK_OPEN_ECP_CONTEXT_V0-Struktur für Treiber, die unter Windows 7 und höher ausgeführt werden, und die Netzwerk-ECP-Kontexte für Dateien interpretieren müssen, die sich unter Windows Vista befinden. |
GUID_ECP_NFS_OPEN | Die GUID, die die NFS_OPEN_ECP_CONTEXT Struktur identifiziert. Der NFS-Server (Network File System) fügt die NFS_OPEN_ECP_CONTEXT Struktur an eine offene Dateianforderung an. Der NFS-Server verwendet diese GUID für jede offene Dateianforderung, die der NFS-Server zur Erfüllung einer Clientanforderung vorgibt. Der Dateisystemstapel kann dann bestimmen, ob NFS_OPEN_ECP_CONTEXT an die Anforderung zum Öffnen einer Datei angehängt ist. Basierend auf den Informationen in NFS_OPEN_ECP_CONTEXT kann der Dateisystemstapel den Client ermitteln, der die Datei geöffnet und warum angefordert hat. |
GUID_ECP_OPEN_PARAMETERS | Die GUID, die die ECP_OPEN_PARAMETERS ECP-Kontextstruktur identifiziert. Mit diesem ECP kann ein Aufrufer den Zweck der geöffneten Datei angeben, ohne vorhandene Handles und/oder opportunistische Sperren (Oplocks) für die Datei zu beeinträchtigen. |
GUID_ECP_OPLOCK_KEY | Die GUID, die die OPLOCK_KEY_ECP_CONTEXT ECP-Kontextstruktur identifiziert und zum Anfügen eines Oplockschlüssels an die geöffnete Dateianforderung verwendet wird. Mit der Oplock-Taste kann eine Anwendung mehrere Handles für denselben Datenstrom öffnen, ohne das eigene Oplock der Anwendung zu unterbrechen. Weitere Informationen zu Oplocks und Oplock-Tasten finden Sie unter Übersicht über die Oplock-Semantik. |
GUID_ECP_PREFETCH_OPEN | Die GUID, die die PREFETCH_OPEN_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Der Prefetcher ist eine Betriebssystemkomponente, die eng mit dem Cache-Manager und dem Speichermanager integriert ist, um Festplattenzugriffe effizienter zu gestalten und somit die Leistung zu verbessern. Wenn andere Komponenten den Prefetcher beeinträchtigen, verringert sich die Systemleistung und kann deadlocken. Daher fügt der Prefetcher die PREFETCH_OPEN_ECP_CONTEXT Struktur an eine Datei an, um zu kommunizieren, dass der Prefetcher eine offene Anforderung für die Datei ausführt. Diese offene Anforderung wird vom Context-Element von PREFETCH_OPEN_ECP_CONTEXT angegeben. Andere Komponenten, z. B. Dateisystemfiltertreiber, können bestimmen, ob PREFETCH_OPEN_ECP_CONTEXT an die Datei angefügt ist, und dann geeignete Maßnahmen ergreifen. |
GUID_ECP_QUERY_ON_CREATE | Die GUID, die den ECP für Abfragedateiinformationen beim Erstellen identifiziert. |
GUID_ECP_RKF_BYPASS | Die GUID, die die RKF_BYPASS_ECP_CONTEXT ECP-Kontextstruktur identifiziert. |
GUID_ECP_SRV_OPEN | Die GUID, die die SRV_OPEN_ECP_CONTEXT ECP-Kontextstruktur identifiziert. Ein Server fügt die SRV_OPEN_ECP_CONTEXT Struktur an eine offene Dateianforderung an. Der Server verwendet diese GUID für jede offene Dateianforderung, die der Server stellt, um eine bedingte Clientanforderung zu erfüllen. Der Dateisystemstapel kann dann bestimmen, ob SRV_OPEN_ECP_CONTEXT an die Anforderung zum Öffnen einer Datei angehängt ist. Anhand der Informationen in SRV_OPEN_ECP_CONTEXT kann der Dateisystemstapel den Client ermitteln, der das Öffnen der Datei angefordert hat, und den Grund dafür angeben. Nicht alle Erstellen von Servern tragen diesen ECP. |
GUID_ECP_TYPE_VETO_BINDING | Identifiziert die VETO_BINDING_ECP_CONTEXT ECP-Kontextstruktur. Dieser ECP kann verwendet werden, um einen Bind-Link auf der Boot-Partition des Systems zu blockieren. Verfügbar ab Windows 11, Version 24H2. |