PRJ_NOTIFICATION_CB Rückruffunktion (projectedfslib.h)
Sendet Benachrichtigungen an den Anbieter zu Dateisystemvorgängen.
Syntax
PRJ_NOTIFICATION_CB PrjNotificationCb;
HRESULT PrjNotificationCb(
[in] const PRJ_CALLBACK_DATA *callbackData,
[in] BOOLEAN isDirectory,
[in] PRJ_NOTIFICATION notification,
[in, optional] PCWSTR destinationFileName,
[in, out] PRJ_NOTIFICATION_PARAMETERS *operationParameters
)
{...}
Parameter
[in] callbackData
Informationen zum Vorgang. Die folgenden callbackData-Member sind erforderlich, um diesen Rückruf zu implementieren:
- FilePathName Gibt den Pfad für die Datei oder das Verzeichnis an, auf das sich die Benachrichtigung bezieht.
Der Anbieter kann nur während der Ausführung des Rückrufs auf diesen Puffer zugreifen. Wenn der Vorgang geschrieben werden soll und Daten aus diesem Puffer benötigt werden, muss er eine eigene Kopie davon erstellen.
[in] isDirectory
TRUE, wenn das Feld FilePathName in callbackData auf ein Verzeichnis verweist, andernfalls FALSE.
[in] notification
Ein PRJ_NOTIFICATION Wert, der die Benachrichtigung angibt.
[in, optional] destinationFileName
Wenn die BenachrichtigungPRJ_NOTIFICATION_PRE_RENAME oder PRJ_NOTIFICATION_PRE_SET_HARDLINK ist, verweist dies auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Pfad relativ zum Virtualisierungsstamm des Ziels des Umbenennungs- oder Set-Hardlink-Vorgangs angibt.
[in, out] operationParameters
Ein Zeiger auf eine PRJ_NOTIFICATION_PARAMETERS Union, die zusätzliche Parameter für bestimmte Benachrichtigungswerte angibt:
PRJ_NOTIFICATION_FILE_OPENED, PRJ_NOTIFICATION_NEW_FILE_CREATED oder PRJ_NOTIFICATION_FILE_OVERWRITTEN
-
Die Felder des PostCreate-Elements werden angegeben. Die Felder lauten:
NotificationMask
-
Nach der Rückkehr vom PRJ_NOTIFICATION_CB Rückrufs kann der Anbieter einen neuen Satz von Benachrichtigungen angeben, die er für die Datei erhalten möchte.
Wenn der Anbieter diesen Wert auf 0 festlegt, entspricht dies der Angabe PRJ_NOTIFY_USE_EXISTING_MASK.
-
Nach der Rückkehr vom PRJ_NOTIFICATION_CB Rückrufs kann der Anbieter einen neuen Satz von Benachrichtigungen angeben, die er für die Datei erhalten möchte.
PRJ_NOTIFICATION_FILE_RENAMED
-
Die Felder des FileRenamed-Elements werden angegeben. Die Felder lauten:
NotificationMask
-
Nach der Rückkehr vom PRJ_NOTIFICATION_CB Rückrufs kann der Anbieter einen neuen Satz von Benachrichtigungen angeben, die er für die Datei erhalten möchte.
Wenn der Anbieter diesen Wert auf 0 festlegt, entspricht dies der Angabe PRJ_NOTIFY_USE_EXISTING_MASK.
-
Nach der Rückkehr vom PRJ_NOTIFICATION_CB Rückrufs kann der Anbieter einen neuen Satz von Benachrichtigungen angeben, die er für die Datei erhalten möchte.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
-
Die Felder des FileDeletedOnHandleClose-Members werden angegeben. Die Felder lauten:
NotificationMask
- Wenn der Anbieter sowohl für PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED als auch für PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED registriert ist, wird dieses Feld auf TRUE festgelegt, wenn die Datei vor dem Löschen geändert wurde.
Rückgabewert
Rückgabecode | BESCHREIBUNG |
---|---|
|
Der Anbieter hat die Benachrichtigung erfolgreich verarbeitet. |
|
Der Anbieter möchte den Vorgang zu einem späteren Zeitpunkt abschließen. |
Ein entsprechender HRESULT-Fehlercode, wenn der Anbieter den Vorgang ausschlägt. Bei Pre-Operation-Benachrichtigungen (Vorgänge mit "PRE" in ihrem Namen), wenn der Anbieter einen Fehlercode zurückgibt, schlägt ProjFS den entsprechenden Vorgang mit dem angegebenen Fehlercode fehl.
Hinweise
Dieser Rückruf ist optional. Wenn der Anbieter keine Implementierung dieses Rückrufs zur Verfügung stellt, empfängt er keine Benachrichtigungen.
Der Anbieter registriert sich für die Benachrichtigungen, die er empfangen möchte, wenn er PrjStartVirtualizing aufruft.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1809 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | projectedfslib.h |