enumerazione PRJ_NOTIFICATION (projectedfslib.h)
Valore di notifica specificato durante l'invio del callback PRJ_NOTIFICATION_CB.
Sintassi
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
} ;
Costanti
PRJ_NOTIFICATION_FILE_OPENED Valore: 0x00000002 - Indica che un handle è stato creato in un file o una cartella esistente. - Il provider può specificare una nuova maschera di notifica per questo file o cartella quando risponde alla notifica. |
PRJ_NOTIFICATION_NEW_FILE_CREATED Valore: 0x00000004 - È stato creato un nuovo file o una nuova cartella. - Il provider può specificare una nuova maschera di notifica per questo file o cartella quando risponde alla notifica. |
PRJ_NOTIFICATION_FILE_OVERWRITTEN Valore: 0x00000008 - Un file esistente è stato sovrascritto o sostituito. - Il provider può specificare una nuova maschera di notifica per questo file o cartella quando risponde alla notifica. |
PRJ_NOTIFICATION_PRE_DELETE Valore: 0x00000010 - Un file o una cartella sta per essere eliminato. - Se il provider restituisce un codice HRESULT di errore dal callback, l'eliminazione non avrà effetto. |
PRJ_NOTIFICATION_PRE_RENAME Valore: 0x00000020 - Un file o una cartella sta per essere rinominato. - Se il provider restituisce un codice HRESULT di errore dal callback, la ridenominazione non avrà effetto. - Se il parametro callbackData-FilePathName> di PRJ_NOTIFICATION_CB è una stringa vuota, indica che la ridenominazione sta spostando il file o la directory dall'esterno dell'istanza di virtualizzazione. In tal caso, questa notifica verrà sempre inviata se il provider ha registrato un callback PRJ_NOTIFICATION_CB , anche se il provider non ha specificato questo bit durante la registrazione del sottoalbero contenente il percorso di destinazione. Tuttavia, se il provider specificato PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS durante la registrazione del sottoalbero contenente il percorso di destinazione, la notifica verrà eliminata. - Se il parametro destinationFileName di PRJ_NOTIFICATION_CB è una stringa vuota, indica che la ridenominazione sposta il file/cartella dall'istanza di virtualizzazione. - Se entrambi i parametri callbackData-FilePathName> e destinationFileName di PRJ_NOTIFICATION_CB sono stringhe non vuote, questo indica che la ridenominazione è all'interno dell'istanza di virtualizzazione. Se il provider ha specificato maschere di notifica diverse per i percorsi di origine e di destinazione nel membro NotificationMappings del parametro options di PrjStartVirtualizing, questa notifica verrà inviata se il provider ha specificato questo bit durante la registrazione dei percorsi di origine o di destinazione. |
PRJ_NOTIFICATION_PRE_SET_HARDLINK Valore: 0x00000040 - Un collegamento rigido sta per essere creato per il file. - Se il provider restituisce un codice HRESULT di errore dal callback, l'operazione di collegamento rigido non avrà effetto. - Se il parametro callbackData-FilePathName> di PRJ_NOTIFICATION_CB è una stringa vuota, questo indica che il nome del collegamento rigido verrà creato all'interno dell'istanza di virtualizzazione, ovvero viene creato un nuovo collegamento rigido all'interno dell'istanza di virtualizzazione in un file esistente all'esterno dell'istanza di virtualizzazione. In tal caso, questa notifica verrà sempre inviata se il provider ha registrato un callback PRJ_NOTIFICATION_CB , anche se il provider non ha specificato questo bit durante la registrazione del sottoalbero in cui sarà presente il nuovo nome di collegamento rigido. Tuttavia, se il provider specificato PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS durante la registrazione del sottoalbero contenente il percorso di destinazione, la notifica verrà eliminata. - Se il parametro destinationFileName di PRJ_NOTIFICATION_CB è una stringa vuota, questo indica che il nome del collegamento rigido verrà creato all'esterno dell'istanza di virtualizzazione, ad esempio viene creato un nuovo collegamento rigido all'esterno dell'istanza di virtualizzazione per un file esistente all'interno dell'istanza di virtualizzazione. - Se entrambi i parametri callbackData-FilePathName> e destinationFileName di PRJ_NOTIFICATION_CB sono stringhe non vuote, questo indica che il nuovo collegamento rigido verrà creato all'interno dell'istanza di virtualizzazione per un file esistente nell'istanza di virtualizzazione. Se il provider ha specificato maschere di notifica diverse per i percorsi di origine e di destinazione nel membro NotificationMappings del parametro options di PrjStartVirtualizing, questa notifica verrà inviata se il provider ha specificato questo bit durante la registrazione dei percorsi di origine o di destinazione. |
PRJ_NOTIFICATION_FILE_RENAMED Valore: 0x00000080 - Indica che un file o una cartella è stato rinominato. Il file o la cartella potrebbero essere stati spostati nell'istanza di virtualizzazione. - Se il parametro callbackData-FilePathName> di PRJ_NOTIFICATION_CB è una stringa vuota, indica che la ridenominazione ha spostato il file o la directory dall'esterno dell'istanza di virtualizzazione. In tal caso ProjFS invierà sempre questa notifica se il provider ha registrato un callback PRJ_NOTIFICATION_CB, anche se il provider non ha specificato questo bit durante la registrazione del sottoalbero contenente il percorso di destinazione. - Se il parametro destinationFileName di PRJ_NOTIFICATION_CB è una stringa vuota, indica che la ridenominazione ha spostato il file o la directory dall'istanza di virtualizzazione. - Se entrambi i parametri callbackData-FilePathName> e destinationFileName di PRJ_NOTIFICATION_CB sono stringhe non vuote, questo indica che la ridenominazione era all'interno dell'istanza di virtualizzazione. Se il provider ha specificato maschere di notifica diverse per i percorsi di origine e di destinazione nel membro NotificationMappings del parametro options di PrjStartVirtualizing, ProjFS invierà questa notifica se il provider ha specificato questo bit durante la registrazione dei percorsi di origine o di destinazione. - Il provider può specificare una nuova maschera di notifica per questo file/directory quando risponde alla notifica. |
PRJ_NOTIFICATION_HARDLINK_CREATED Valore: 0x00000100 - Indica che è stato creato un collegamento rigido per il file. - Se il parametro callbackData-FilePathName> di PRJ_NOTIFICATION_CB è una stringa vuota, indica che il nome del collegamento rigido è stato creato all'interno dell'istanza di virtualizzazione, ovvero è stato creato un nuovo collegamento rigido all'interno dell'istanza di virtualizzazione in un file esistente all'esterno dell'istanza di virtualizzazione. In tal caso ProjFS invierà sempre questa notifica se il provider ha registrato un callback PRJ_NOTIFICATION_CB, anche se il provider non ha specificato questo bit durante la registrazione del sottoalbero in cui sarà presente il nuovo nome del collegamento rigido. - Se il parametro destinationFileName di PRJ_NOTIFICATION_CB è una stringa vuota, questo indica che il nome del collegamento rigido è stato creato all'esterno dell'istanza di virtualizzazione, ad esempio un nuovo collegamento rigido è stato creato all'esterno dell'istanza di virtualizzazione per un file esistente all'interno dell'istanza di virtualizzazione. - Se entrambi i parametri callbackData-FilePathName> e destinationFileName di PRJ_NOTIFICATION_CB sono stringhe non vuote, questo indica che all'interno dell'istanza di virtualizzazione è stato creato un nuovo collegamento rigido per un file presente nell'istanza di virtualizzazione. Se il provider ha specificato maschere di notifica diverse per i percorsi di origine e di destinazione nel membro NotificationMappings del parametro options di PrjStartVirtualizing, ProjFS invierà questa notifica se il provider ha specificato questo bit durante la registrazione dei percorsi di origine o di destinazione. |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION Valore: 0x00000200 - Un handle è stato chiuso nel file o nella cartella e il contenuto del file non è stato modificato mentre l'handle è stato aperto e il file/cartella non è stato eliminato |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED Valore: 0x00000400 - Un handle è stato chiuso nel file e che il contenuto del file è stato modificato durante l'apertura dell'handle. |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED Valore: 0x00000800 - Un handle è stato chiuso nel file o nella cartella e che è stato eliminato come parte della chiusura dell'handle. - Se il provider è stato registrato anche per ricevere notifiche di PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED e il file è stato modificato usando l'handle la cui chiusura ha causato l'eliminazione del file, il parametro operationParameters-FileDeletedOnHandleClose.IsFileModified> di PRJ_NOTIFICATION_CB sarà TRUE. Questo vale solo per i file, non per le directory |
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL Valore: 0x00001000 - Il file sta per essere espanso da un segnaposto a un file completo, ovvero è probabile che il relativo contenuto venga modificato. - Se il provider restituisce un codice HRESULT di errore dal callback, il file non verrà espanso in un file completo e l'I/O che ha attivato la conversione avrà esito negativo. - Se sono presenti più operazioni di I/O da corsa che espanderebbero lo stesso file, il provider riceverà questo valore di notifica una sola volta per il file. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1809 [solo app desktop] |
Server minimo supportato | Windows Server [solo app desktop] |
Intestazione | projectedfslib.h |