Freigeben über


PRJ_NOTIFICATION-Enumeration (projectedfslib.h)

Ein Benachrichtigungswert, der beim Senden des PRJ_NOTIFICATION_CB Rückrufs angegeben wird.

Syntax

typedef enum PRJ_NOTIFICATION {
  PRJ_NOTIFICATION_FILE_OPENED = 0x00000002,
  PRJ_NOTIFICATION_NEW_FILE_CREATED = 0x00000004,
  PRJ_NOTIFICATION_FILE_OVERWRITTEN = 0x00000008,
  PRJ_NOTIFICATION_PRE_DELETE = 0x00000010,
  PRJ_NOTIFICATION_PRE_RENAME = 0x00000020,
  PRJ_NOTIFICATION_PRE_SET_HARDLINK = 0x00000040,
  PRJ_NOTIFICATION_FILE_RENAMED = 0x00000080,
  PRJ_NOTIFICATION_HARDLINK_CREATED = 0x00000100,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
  PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 0x00001000
} ;

Konstanten

 
PRJ_NOTIFICATION_FILE_OPENED
Wert: 0x00000002
– Gibt an, dass ein Handle für eine vorhandene Datei oder einen vorhandenen Ordner erstellt wurde.
– Der Anbieter kann eine neue Benachrichtigungsmaske für diese Datei oder diesen Ordner angeben, wenn er auf die Benachrichtigung reagiert.
PRJ_NOTIFICATION_NEW_FILE_CREATED
Wert: 0x00000004
– Eine neue Datei oder ein neuer Ordner wurde erstellt.
– Der Anbieter kann eine neue Benachrichtigungsmaske für diese Datei oder diesen Ordner angeben, wenn er auf die Benachrichtigung reagiert.
PRJ_NOTIFICATION_FILE_OVERWRITTEN
Wert: 0x00000008
- Eine vorhandene Datei wurde überschrieben oder ersetzt.
– Der Anbieter kann eine neue Benachrichtigungsmaske für diese Datei oder diesen Ordner angeben, wenn er auf die Benachrichtigung reagiert.
PRJ_NOTIFICATION_PRE_DELETE
Wert: 0x00000010
- Eine Datei oder ein Ordner wird gerade gelöscht.
- Wenn der Anbieter einen Fehler-HRESULT-Code aus dem Rückruf zurückgibt, wird der Löschvorgang nicht wirksam.
PRJ_NOTIFICATION_PRE_RENAME
Wert: 0x00000020
- Eine Datei oder ein Ordner wird gerade umbenannt.
- Wenn der Anbieter einen Fehler-HRESULT-Code aus dem Rückruf zurückgibt, wird die Umbenennung nicht wirksam.
- Wenn der callbackData-FilePathName-Parameter> von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass die Umbenennung die Datei/das Verzeichnis von außerhalb des Virtualisierungs-instance verschiebt. In diesem Fall wird diese Benachrichtigung immer gesendet, wenn der Anbieter einen PRJ_NOTIFICATION_CB Rückruf registriert hat, auch wenn der Anbieter dieses Bit beim Registrieren der Unterstruktur, die den Zielpfad enthält, nicht angegeben hat. Wenn der Anbieter jedoch beim Registrieren der Unterstruktur mit dem Zielpfad PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS angegeben hat, wird die Benachrichtigung unterdrückt.
- Wenn der parameter destinationFileName von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass die Umbenennung die Datei/den Ordner aus dem Virtualisierungs-instance.
- Wenn sowohl die Parameter callbackData-FilePathName> als auch destinationFileName von PRJ_NOTIFICATION_CB nicht leere Zeichenfolgen sind, gibt dies an, dass die Umbenennung innerhalb des Virtualisierungs-instance. Wenn der Anbieter verschiedene Benachrichtigungsmasken für die Quell- und Zielpfade im NotificationMappings-Member des Optionsparameters von PrjStartVirtualizing angegeben hat, wird diese Benachrichtigung gesendet, wenn der Anbieter dieses Bit beim Registrieren der Quell- oder Zielpfade angegeben hat.
PRJ_NOTIFICATION_PRE_SET_HARDLINK
Wert: 0x00000040
- Ein harter Link wird für die Datei erstellt.
- Wenn der Anbieter einen HRESULT-Fehlercode aus dem Rückruf zurückgibt, wird der Hardlinkvorgang nicht wirksam.
- Wenn der callbackData-FilePathName-Parameter> von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass der Name des Hardlinks innerhalb des Virtualisierungs-instance erstellt wird, d. h. innerhalb des Virtualisierungs-instance zu einer Datei, die außerhalb des Virtualisierungs-instance vorhanden ist. In diesem Fall wird diese Benachrichtigung immer gesendet, wenn der Anbieter einen PRJ_NOTIFICATION_CB Rückruf registriert hat, auch wenn der Anbieter dieses Bit beim Registrieren der Unterstruktur nicht angegeben hat, in der sich der name des neuen Hardlinks befindet. Wenn der Anbieter jedoch beim Registrieren der Unterstruktur mit dem Zielpfad PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS angegeben hat, wird die Benachrichtigung unterdrückt.
- Wenn der destinationFileName-Parameter von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass der Hardlinkname außerhalb des Virtualisierungs-instance erstellt wird, d. h. außerhalb des Virtualisierungs-instance für eine Datei, die innerhalb des Virtualisierungs-instance vorhanden ist.
- Wenn sowohl die Parameter callbackData-FilePathName> als auch destinationFileName von PRJ_NOTIFICATION_CB nicht leere Zeichenfolgen sind, bedeutet dies, dass der neue Hardlink innerhalb des Virtualisierungs-instance für eine Datei erstellt wird, die innerhalb der Virtualisierungs-instance vorhanden ist. Wenn der Anbieter verschiedene Benachrichtigungsmasken für die Quell- und Zielpfade im NotificationMappings-Member des Optionsparameters von PrjStartVirtualizing angegeben hat, wird diese Benachrichtigung gesendet, wenn der Anbieter dieses Bit beim Registrieren der Quell- oder Zielpfade angegeben hat.
PRJ_NOTIFICATION_FILE_RENAMED
Wert: 0x00000080
– Gibt an, dass eine Datei/ein Ordner umbenannt wurde. Die Datei/der Ordner wurde möglicherweise in die Virtualisierungs-instance verschoben.
- Wenn der parameter callbackData-FilePathName> von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass die Umbenennung die Datei/das Verzeichnis von außerhalb der Virtualisierung instance verschoben hat. In diesem Fall sendet ProjFS diese Benachrichtigung immer, wenn der Anbieter einen PRJ_NOTIFICATION_CB Rückruf registriert hat, auch wenn der Anbieter dieses Bit beim Registrieren der Unterstruktur mit dem Zielpfad nicht angegeben hat.
- Wenn der parameter destinationFileName von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass die Umbenennung die Datei/das Verzeichnis aus dem Virtualisierungs-instance verschoben hat.
- Wenn sowohl die Parameter callbackData-FilePathName> als auch destinationFileName von PRJ_NOTIFICATION_CB nicht leere Zeichenfolgen sind, gibt dies an, dass die Umbenennung innerhalb des Virtualisierungs-instance. Wenn der Anbieter verschiedene Benachrichtigungsmasken für die Quell- und Zielpfade im NotificationMappings-Member des Optionsparameters von PrjStartVirtualizing angegeben hat, sendet ProjFS diese Benachrichtigung, wenn der Anbieter dieses Bit beim Registrieren der Quell- oder Zielpfade angegeben hat.
– Der Anbieter kann eine neue Benachrichtigungsmaske für diese Datei/dieses Verzeichnis angeben, wenn er auf die Benachrichtigung reagiert.
PRJ_NOTIFICATION_HARDLINK_CREATED
Wert: 0x00000100
– Gibt an, dass ein harter Link für die Datei erstellt wurde.
- Wenn der callbackData-FilePathName-Parameter> von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass der Hardlinkname innerhalb des Virtualisierungs-instance erstellt wurde, d. h. innerhalb des Virtualisierungs-instance eine neue Hardlink zu einer Datei erstellt wurde, die außerhalb des Virtualisierungs-instance vorhanden ist. In diesem Fall sendet ProjFS diese Benachrichtigung immer, wenn der Anbieter einen PRJ_NOTIFICATION_CB Rückruf registriert hat, auch wenn der Anbieter dieses Bit beim Registrieren der Unterstruktur nicht angegeben hat, in der sich der name des neuen Hardlinks befindet.
- Wenn der parameter destinationFileName von PRJ_NOTIFICATION_CB eine leere Zeichenfolge ist, gibt dies an, dass der Hardlinkname außerhalb des Virtualisierungs-instance erstellt wurde, d. h. ein neuer hard link wurde außerhalb des Virtualisierungs-instance für eine Datei erstellt, die innerhalb des Virtualisierungs-instance vorhanden ist.
- Wenn sowohl die parameter callbackData-FilePathName> als auch destinationFileName von PRJ_NOTIFICATION_CB nicht leere Zeichenfolgen sind, gibt dies an, dass der neue hard link innerhalb des Virtualisierungs-instance für eine Datei erstellt wurde, die innerhalb des Virtualisierungs-instance vorhanden ist. Wenn der Anbieter verschiedene Benachrichtigungsmasken für die Quell- und Zielpfade im NotificationMappings-Member des Optionsparameters von PrjStartVirtualizing angegeben hat, sendet ProjFS diese Benachrichtigung, wenn der Anbieter dieses Bit beim Registrieren der Quell- oder Zielpfade angegeben hat.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION
Wert: 0x00000200
- Ein Handle wurde für die Datei/den Ordner geschlossen, und der Inhalt der Datei wurde nicht geändert, während das Handle geöffnet war, und die Datei/der Ordner wurde nicht gelöscht.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED
Wert: 0x00000400
– Ein Handle wurde für die Datei geschlossen, und der Inhalt der Datei wurde geändert, während das Handle geöffnet war.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
Wert: 0x00000800
– Ein Handle wurde für die Datei/den Ordner geschlossen und als Teil des Schließens des Handles gelöscht.
- Wenn der Anbieter auch registriert wurde, um PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED Benachrichtigungen zu empfangen, und die Datei mithilfe des Handle geändert wurde, dessen Schließen zum Löschen der Datei führte, ist der Parameter operationParameters-FileDeletedOnHandleClose.IsFileModified> von PRJ_NOTIFICATION_CB TRUE. Dies gilt nur für Dateien, nicht für Verzeichnisse.
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL
Wert: 0x00001000
- Die Datei wird von einem Platzhalter in eine vollständige Datei erweitert, d. h. ihr Inhalt wird wahrscheinlich geändert.
- Wenn der Anbieter einen Fehler-HRESULT-Code aus dem Rückruf zurückgibt, wird die Datei nicht zu einer vollständigen Datei erweitert, und die E/A, die die Konvertierung ausgelöst hat, schlägt fehl.
- Wenn es mehrere Racing-E/A-Vorgänge gibt, die dieselbe Datei erweitern würden, erhält der Anbieter diesen Benachrichtigungswert nur einmal für die Datei.

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