FILE_NOTIFY_INFORMATION struttura (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;

Members

NextEntryOffset

Numero di byte che devono essere ignorati per ottenere il 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. Questa può essere una modifica nel timestamp o negli 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) Un flusso denominato è stato aggiunto al file.
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) Un ID oggetto è stato rimosso perché il file l'ID oggetto 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 della parte del nome file del record, in byte. Questo valore non include il carattere Null terminante.

FileName[1]

Campo a lunghezza variabile contenente il nome del file relativo all'handle della directory. Il nome del file è in formato carattere Unicode e non viene terminato null.

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

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Intestazione ntifs.h

Vedi anche

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx