Condividi tramite


struttura FILE_NOTIFY_INFORMATION (ntifs.h)

FILE_NOTIFY_INFORMATION descrive le modifiche apportate a una directory. Viene restituito in risposta a una richiesta di IRP_MJ_DIRECTORY_CONTROL con un codice di funzione secondario IRP_MN_NOTIFY_CHANGE_DIRECTORY quando DIRECTORY_NOTIFY_INFORMATION_CLASS è DirectoryNotifyInformation.

Sintassi

typedef struct _FILE_NOTIFY_INFORMATION {
  ULONG NextEntryOffset;
  ULONG Action;
  ULONG FileNameLength;
  WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;

Membri

NextEntryOffset

Numero di byte che devono essere ignorati per passare al record successivo. Un valore pari a zero indica che si tratta dell'ultimo record.

Action

Tipo di modifica che si è verificato. Questo membro può essere uno dei valori seguenti.

Valore Significato
FILE_ACTION_ADDED (0x00000001) Il file è stato aggiunto alla directory.
FILE_ACTION_REMOVED (0x00000002) Il file è stato rimosso dalla directory.
FILE_ACTION_MODIFIED (0x00000003) Il file è stato modificato. Può trattarsi di una modifica del timestamp o degli attributi.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Il file è stato rinominato e questo è il nome precedente.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Il file è stato rinominato e questo è il nuovo nome.
FILE_ACTION_ADDED_STREAM (0x00000006) Al file è stato aggiunto un flusso denominato.
FILE_ACTION_REMOVED_STREAM (0x00000007) Un flusso denominato è stato rimosso dal file.
FILE_ACTION_MODIFIED_STREAM (0x00000008) È stato modificato un flusso denominato. La modifica può essere una modifica ai dati o agli attributi del flusso denominato.
FILE_ACTION_REMOVED_BY_DELETE (0x00000009) È stato rimosso un ID oggetto perché il file a cui è stato fatto riferimento è stato eliminato. Questa notifica viene inviata solo quando la directory monitorata è la directory speciale "$Extend$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) Tentativo di tunneling delle informazioni sull'ID oggetto in un file creato o rinominato non riuscito perché l'ID oggetto è in uso da un altro file nello stesso volume. Questa notifica viene inviata solo quando la directory monitorata è la directory speciale "$Extend$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) Tentativo di tunneling delle informazioni sull'ID oggetto in un file rinominato non riuscito perché il file ha già un ID oggetto. Questa notifica viene inviata solo quando la directory monitorata è la directory speciale "$Extend$ObjId:$O:$INDEX_ALLOCATION".

FileNameLength

Dimensioni in byte della parte del nome file del record. Questo valore non include il carattere Null di terminazione.

FileName[1]

Campo a lunghezza variabile che contiene il nome file relativo all'handle di directory. Il nome del file è in formato carattere Unicode e non è con terminazione Null.

Se è presente un nome breve e lungo per il file, verrà restituito solo uno di questi nomi, ma non è specificato quale nome.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
intestazione ntifs.h

Vedere anche

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx