Share via


estructura de FILE_NOTIFY_INFORMATION (ntifs.h)

FILE_NOTIFY_INFORMATION describe los cambios en un directorio. Se devuelve en respuesta a una solicitud de IRP_MJ_DIRECTORY_CONTROL con un código de función secundaria IRP_MN_NOTIFY_CHANGE_DIRECTORY cuando DIRECTORY_NOTIFY_INFORMATION_CLASS es DirectoryNotifyInformation.

Sintaxis

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

Miembros

NextEntryOffset

Número de bytes que se deben omitir para llegar al siguiente registro. Un valor de cero indica que este es el último registro.

Action

Tipo de cambio que se ha producido. Este miembro puede ser uno de los siguientes valores.

Valor Significado
FILE_ACTION_ADDED (0x00000001) El archivo se agregó al directorio .
FILE_ACTION_REMOVED (0x00000002) El archivo se quitó del directorio.
FILE_ACTION_MODIFIED (0x00000003) El archivo se modificó. Puede ser un cambio en la marca de tiempo o los atributos.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Se ha cambiado el nombre del archivo y este es el nombre anterior.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Se ha cambiado el nombre del archivo y este es el nuevo nombre.
FILE_ACTION_ADDED_STREAM (0x00000006) Se agregó una secuencia con nombre al archivo.
FILE_ACTION_REMOVED_STREAM (0x00000007) Se quitó una secuencia con nombre del archivo.
FILE_ACTION_MODIFIED_STREAM (0x00000008) Se modificó una secuencia con nombre. La modificación puede ser un cambio en los datos o atributos de la secuencia con nombre.
FILE_ACTION_REMOVED_BY_DELETE (0x00000009) Se quitó un identificador de objeto porque el archivo al que se hizo referencia se eliminó el identificador de objeto. Esta notificación solo se envía cuando el directorio que se supervisa es el directorio especial "$Extend$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) Error al intentar tunelizar la información del identificador de objeto en un archivo que se crea o se cambia el nombre porque otro archivo usa el identificador de objeto en el mismo volumen. Esta notificación solo se envía cuando el directorio que se supervisa es el directorio especial "$Extend$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) Error al intentar tunelizar la información del identificador de objeto a un archivo cuyo nombre se va a cambiar porque el archivo ya tiene un identificador de objeto. Esta notificación solo se envía cuando el directorio que se supervisa es el directorio especial "$Extend$ObjId:$O:$INDEX_ALLOCATION".

FileNameLength

Tamaño de la parte del nombre de archivo del registro, en bytes. Este valor no incluye el carácter nulo de terminación.

FileName[1]

Campo de longitud variable que contiene el nombre de archivo relativo al identificador de directorio. El nombre de archivo está en el formato de caracteres Unicode y no termina en null.

Si hay un nombre corto y largo para el archivo, solo se devolverá uno de estos nombres, pero no se especifica cuál.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Encabezado ntifs.h

Consulte también

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx