estrutura FILE_NOTIFY_EXTENDED_INFORMATION (ntifs.h)

FILE_NOTIFY_EXTENDED_INFORMATION fornece informações sobre uma alteração de diretório em resposta a uma solicitação de IRP_MJ_DIRECTORY_CONTROL com um código de função secundária IRP_MN_NOTIFY_CHANGE_DIRECTORY quando DIRECTORY_NOTIFY_INFORMATION_CLASS é DirectoryNotifyExtendedInformation.

Sintaxe

typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         Action;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastModificationTime;
  LARGE_INTEGER LastChangeTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER AllocatedLength;
  LARGE_INTEGER FileSize;
  ULONG         FileAttributes;
  union {
    ULONG ReparsePointTag;
    ULONG EaSize;
  } DUMMYUNIONNAME;
  LARGE_INTEGER FileId;
  LARGE_INTEGER ParentFileId;
  ULONG         FileNameLength;
  WCHAR         FileName[1];
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION;

Membros

NextEntryOffset

O número de bytes que devem ser ignorados para chegar ao próximo registro. Um valor zero indica que este é o último registro.

Action

O tipo de alteração que ocorreu. Esse membro pode ser um dos valores a seguir.

Valor Significado
FILE_ACTION_ADDED (0x00000001) Um arquivo foi adicionado ao diretório.
FILE_ACTION_REMOVED (0x00000002) Um arquivo foi removido do diretório.
FILE_ACTION_MODIFIED (0x00000003) O diretório foi modificado. Isso pode ser uma alteração no carimbo de data/hora ou atributos.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) O diretório foi renomeado e esse é o nome antigo.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) O diretório foi renomeado e esse é o novo nome.

CreationTime

A data e hora em que o diretório ou arquivo foi criado e adicionado ao sistema de arquivos.

LastModificationTime

A data e hora em que o conteúdo do diretório ou arquivo foi modificado pela última vez no sistema de arquivos.

LastChangeTime

A data e hora em que os metadados ou o conteúdo do diretório ou arquivo foram alterados pela última vez no sistema de arquivos.

LastAccessTime

A data e hora em que o diretório ou arquivo foi acessado pela última vez no sistema de arquivos.

AllocatedLength

O tamanho alocado do arquivo, em bytes.

FileSize

O novo tamanho do diretório ou arquivo em bytes ou o tamanho antigo se o tamanho não for alterado.

FileAttributes

Atributos de arquivo, que podem ser qualquer combinação válida do seguinte:

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

DUMMYUNIONNAME

DUMMYUNIONNAME.ReparsePointTag

A marca do identificador de um ponto de nova análise para o diretório ou arquivo.

DUMMYUNIONNAME.EaSize

Comprimento combinado dos atributos estendidos (EA) para o arquivo, em bytes.

FileId

O identificador do diretório ou arquivo. Esse número é gerado e atribuído ao arquivo pelo sistema de arquivos.

ParentFileId

O identificador do diretório pai do arquivo.

FileNameLength

O tamanho da parte do nome do arquivo do registro, em bytes. Esse valor não inclui um caractere nulo de terminação.

FileName[1]

Um campo de comprimento variável que contém o nome do arquivo relativo ao identificador de diretório. O nome do arquivo está no formato de caractere Unicode e não é encerrado em nulo.

Requisitos

Requisito Valor
Cabeçalho ntifs.h

Confira também

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx