PRJ_NOTIFICATION_CB funzione di callback (projectedfslib.h)
Recapita notifiche al provider sulle operazioni del file system.
Sintassi
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
)
{...}
Parametri
[in] callbackData
Informazioni sull'operazione. Per implementare questo callback sono necessari i membri callback seguenti:
- FilePathName Identifica il percorso del file o della directory a cui è relativa la notifica.
Il provider può accedere a questo buffer solo durante l'esecuzione del callback. Se desidera eseguire la penna dell'operazione e richiede dati da questo buffer, deve crearne una copia.
[in] isDirectory
TRUE se il campo FilePathName in callbackData fa riferimento a una directory, FALSE in caso contrario.
[in] notification
Valore PRJ_NOTIFICATION che specifica la notifica.
[in, optional] destinationFileName
Se la notifica è PRJ_NOTIFICATION_PRE_RENAME o PRJ_NOTIFICATION_PRE_SET_HARDLINK, punta a una stringa Unicode con terminazione Null che specifica il percorso, relativo alla radice di virtualizzazione, della destinazione dell'operazione di ridenominazione o set-hardlink.
[in, out] operationParameters
Puntatore a un'unione PRJ_NOTIFICATION_PARAMETERS che specifica parametri aggiuntivi per determinati valori di notifica:
PRJ_NOTIFICATION_FILE_OPENED, PRJ_NOTIFICATION_NEW_FILE_CREATED o PRJ_NOTIFICATION_FILE_OVERWRITTEN
-
Vengono specificati i campi del membro PostCreate . Questi campi sono:
NotificaMask
-
Al ritorno dal callback PRJ_NOTIFICATION_CB, il provider può specificare un nuovo set di notifiche che desidera ricevere per il file qui.
Se il provider imposta questo valore su 0, equivale a specificare PRJ_NOTIFY_USE_EXISTING_MASK.
-
Al ritorno dal callback PRJ_NOTIFICATION_CB, il provider può specificare un nuovo set di notifiche che desidera ricevere per il file qui.
PRJ_NOTIFICATION_FILE_RENAMED
-
Vengono specificati i campi del membro FileRenamed . Questi campi sono:
NotificaMask
-
Al ritorno dal callback PRJ_NOTIFICATION_CB, il provider può specificare un nuovo set di notifiche che desidera ricevere per il file qui.
Se il provider imposta questo valore su 0, equivale a specificare PRJ_NOTIFY_USE_EXISTING_MASK.
-
Al ritorno dal callback PRJ_NOTIFICATION_CB, il provider può specificare un nuovo set di notifiche che desidera ricevere per il file qui.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
-
Vengono specificati i campi del membro FileDeletedOnHandleClose . Questi campi sono:
NotificaMask
- Se il provider è stato registrato per PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED e PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED, questo campo viene impostato su TRUE se il file è stato modificato prima dell'eliminazione.
Valore restituito
Codice restituito | Descrizione |
---|---|
|
Il provider ha elaborato correttamente la notifica. |
|
Il provider desidera completare l'operazione in un secondo momento. |
Codice di errore HRESULT appropriato se il provider non riesce l'operazione. Per le notifiche di pre-operazione (operazioni con "PRE" nel nome), se il provider restituisce un codice di errore ProjFS avrà esito negativo l'operazione corrispondente con il codice di errore specificato.
Commenti
Questo callback è facoltativo. Se il provider non fornisce un'implementazione di questo callback, non riceverà notifiche.
Il provider esegue la registrazione per le notifiche che desidera ricevere quando chiama PrjStartVirtualizing.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1809 [solo app desktop] |
Server minimo supportato | Windows Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | projectedfslib.h |