Freigeben über


PRJ_NOTIFY_TYPES-Enumeration (projectedfslib.h)

Typen von Benachrichtigungen, die eine Änderung an der Datei oder dem Ordner beschreiben.

Syntax

typedef enum PRJ_NOTIFY_TYPES {
  PRJ_NOTIFY_NONE = 0x00000000,
  PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 0x00000001,
  PRJ_NOTIFY_FILE_OPENED = 0x00000002,
  PRJ_NOTIFY_NEW_FILE_CREATED = 0x00000004,
  PRJ_NOTIFY_FILE_OVERWRITTEN = 0x00000008,
  PRJ_NOTIFY_PRE_DELETE = 0x00000010,
  PRJ_NOTIFY_PRE_RENAME = 0x00000020,
  PRJ_NOTIFY_PRE_SET_HARDLINK = 0x00000040,
  PRJ_NOTIFY_FILE_RENAMED = 0x00000080,
  PRJ_NOTIFY_HARDLINK_CREATED = 0x00000100,
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
  PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
  PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 0x00001000,
  PRJ_NOTIFY_USE_EXISTING_MASK = 0xFFFFFFFF
} ;

Konstanten

 
PRJ_NOTIFY_NONE
Wert: 0x00000000
Keine Benachrichtigung.
PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS
Wert: 0x00000001
Wenn für die Virtualisierung angegeben instance beginnen:

– Dies gibt an, dass keine Benachrichtigungen für die Virtualisierungs-instance oder eine angegebene Unterstruktur der instance gesendet werden sollen.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Dies gibt an, dass Benachrichtigungen für die angegebene Datei oder den angegebenen Ordner erst gesendet werden sollen, wenn alle Handles für die Datei oder den angegebenen Ordner geschlossen wurden.

Hinweis Wenn dieses Bit in einer Benachrichtigungsmaske angezeigt wird, überschreibt es alle anderen Bits in der Maske. Beispielsweise wird eine gültige Maske mit diesem Bit so behandelt, dass sie nur PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS enthält.

 
PRJ_NOTIFY_FILE_OPENED
Wert: 0x00000002
Wenn für die Virtualisierung angegeben instance beginnen:

– Dies gibt an, dass der Anbieter benachrichtigt werden soll, wenn ein Handle für eine vorhandene Datei oder einen vorhandenen Ordner erstellt wird.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Dies gibt an, dass der Anbieter benachrichtigt werden soll, wenn weitere Handles für die Datei oder den Ordner erstellt werden.
PRJ_NOTIFY_NEW_FILE_CREATED
Wert: 0x00000004
Wenn für die Virtualisierung angegeben instance beginnen:

– Der Anbieter sollte benachrichtigt werden, wenn eine neue Datei oder ein neuer Ordner erstellt wird.

Wenn als Antwort auf eine Benachrichtigung angegeben:

- Keine Auswirkung.
PRJ_NOTIFY_FILE_OVERWRITTEN
Wert: 0x00000008
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine vorhandene Datei überschrieben oder ersetzt wird.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn die Datei oder der Ordner überschrieben oder ersetzt wird.
PRJ_NOTIFY_PRE_DELETE
Wert: 0x00000010
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine Datei oder ein Ordner gelöscht werden soll.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine Datei oder ein Ordner gelöscht werden soll.
PRJ_NOTIFY_PRE_RENAME
Wert: 0x00000020
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine Datei oder ein Ordner umbenannt werden soll.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine Datei oder ein Ordner umbenannt werden soll.
PRJ_NOTIFY_PRE_SET_HARDLINK
Wert: 0x00000040
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn ein harter Link für eine Datei erstellt werden soll.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn ein harter Link für eine Datei erstellt werden soll.
PRJ_NOTIFY_FILE_RENAMED
Wert: 0x00000080
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, dass eine Datei oder ein Ordner umbenannt wurde.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, wenn eine Datei oder ein Ordner umbenannt wurde.
PRJ_NOTIFY_HARDLINK_CREATED
Wert: 0x00000100
Wenn für die Virtualisierung angegeben instance beginnen:

– Gibt an, dass der Anbieter benachrichtigt werden soll, dass ein harter Link für eine Datei erstellt wurde.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Gibt an, dass der Anbieter benachrichtigt werden soll, dass ein harter Link für die Datei erstellt wurde.
PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION
Wert: 0x00000200
Wenn für die Virtualisierung angegeben instance beginnen:

– Der Anbieter sollte benachrichtigt werden, wenn ein Handle für eine Datei/einen Ordner geschlossen wird und das schließende Handle es weder geändert noch gelöscht hat.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Der Anbieter sollte benachrichtigt werden, wenn Handles für die Datei/den Ordner geschlossen sind und dem schließenden Handle keine Änderungen oder Löschungen zugeordnet sind.
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED
Wert: 0x00000400
Wenn für die Virtualisierung angegeben instance beginnen:

– Der Anbieter sollte benachrichtigt werden, wenn ein Handle für eine Datei/einen Ordner geschlossen wird und das schließende Handle verwendet wurde, um es zu ändern.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Der Anbieter sollte benachrichtigt werden, wenn ein Handle für die Datei/den Ordner geschlossen wird und das schließende Handle zum Ändern verwendet wurde.
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED
Wert: 0x00000800
Wenn für die Virtualisierung angegeben instance beginnen:

– Der Anbieter sollte benachrichtigt werden, wenn ein Handle für eine Datei/einen Ordner geschlossen wird und als Teil des Schließens des Handles gelöscht wird.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Der Anbieter sollte benachrichtigt werden, wenn ein Handle für die Datei/den Ordner geschlossen wird, und es wird im Rahmen des Schließens des Handles gelöscht.
PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL
Wert: 0x00001000
Wenn für die Virtualisierung angegeben instance beginnen:

– Der Anbieter sollte benachrichtigt werden, wenn er einen Platzhalter in eine vollständige Datei konvertieren soll.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Der Anbieter sollte benachrichtigt werden, wenn er dabei ist, den Platzhalter in eine vollständige Datei zu konvertieren, vorausgesetzt, es handelt sich um einen Platzhalter und nicht bereits um eine vollständige Datei.
PRJ_NOTIFY_USE_EXISTING_MASK
Wert: 0xFFFFFFFF
Wenn für die Virtualisierung angegeben instance beginnen:

– Dieser Wert ist beim Starten der Virtualisierung instance ungültig.

Wenn als Antwort auf eine Benachrichtigung angegeben:

– Verwenden Sie weiterhin den vorhandenen Satz von Benachrichtigungen für diese Datei/diesen Ordner.

Hinweise

ProjFS kann Benachrichtigungen über Dateisystemaktivitäten an einen Anbieter senden. Wenn der Anbieter eine Virtualisierung instance gibt er an, welche Benachrichtigungen er empfangen möchte. Es kann auch einen neuen Satz von Benachrichtigungen für eine Datei angeben, wenn sie erstellt oder umbenannt wird. Der Anbieter muss eine PRJ_NOTIFICATION_CB Benachrichtigungsrückrufroutine im Rückrufparameter von PrjStartVirtualizing registrieren, um Benachrichtigungen empfangen zu können.

ProjFS sendet Benachrichtigungen für Dateien und Verzeichnisse in einem aktiven Virtualisierungsstamm. Das heißt, ProjFS sendet Benachrichtigungen für den Virtualisierungsstamm und seine Nachfolger. Symbolische Verknüpfungen und Verbindungen innerhalb des Virtualisierungsstamms werden nicht durchlaufen, wenn ermittelt wird, was einen Nachfolger des Virtualisierungsstamms darstellt.

ProjFS sendet Benachrichtigungen nur für den primären Datenstrom einer Datei. ProjFS sendet keine Benachrichtigungen für Vorgänge für alternative Datenströme.

ProjFS sendet keine Benachrichtigungen für eine inaktive Virtualisierung instance. Eine Virtualisierungs-instance ist inaktiv, wenn eine der folgenden Bedingungen zutrifft:

Der Anbieter kann angeben, welche Benachrichtigungen beim Starten einer Virtualisierung instance oder als Reaktion auf eine Benachrichtigung, die das Festlegen einer neuen Benachrichtigungsmaske ermöglicht, empfangen werden soll.

Der Anbieter gibt einen Standardsatz von Benachrichtigungen an, die ProjFS für die Virtualisierung instance senden soll, wenn die instance gestartet wird. Dieser Satz von Benachrichtigungen wird im NotificationMappings-Member des Optionsparameters von PrjStartVirtualizing bereitgestellt, der verschiedene Benachrichtigungsmasken für verschiedene Unterstrukturen der Virtualisierungs-instance angeben kann.

Der Anbieter kann als Reaktion auf eine Benachrichtigung über das Öffnen, Erstellen, Ersetzen/Überschreiben oder Umbenennen einer Datei eine andere Benachrichtigungsmaske angeben. ProjFS sendet weiterhin diese Benachrichtigungen für die angegebene Datei, bis alle Handles für die Datei geschlossen sind. Danach rückgängig machen auf den Standardsatz von Benachrichtigungen. Wenn der Standardsatz von Benachrichtigungen nicht angibt, dass ProjFS zum Öffnen, Erstellen usw. benachrichtigen soll, erhält der Anbieter nicht die Möglichkeit, eine andere Maske für diese Vorgänge anzugeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server [nur Desktop-Apps]
Kopfzeile projectedfslib.h