estrutura FILE_NOTIFY_FULL_INFORMATION (ntifs.h)
Uma estrutura FILE_NOTIFY_FULL_INFORMATION é retornada 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 é DirectoryNotifyFullInformation.
Sintaxe
typedef struct _FILE_NOTIFY_FULL_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;
USHORT FileNameLength;
UCHAR FileNameFlags;
UCHAR Reserved;
WCHAR FileName[1];
} FILE_NOTIFY_FULL_INFORMATION, *PFILE_NOTIFY_FULL_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.
FileNameFlags
Sinalizadores especificando que tipo de nome de arquivo está sendo retornado, se conhecido. Se nenhum dos sinalizadores a seguir estiver definido, o tipo de nome de arquivo não será conhecido. Se ambos os sinalizadores a seguir estiverem definidos, o nome do arquivo atuará como o nome longo e o nome curto (o nome NTFS e o nome dos DOS) de um par de nomes longos/curtos.
Sinalizador | Valor |
---|---|
FILE_NAME_NTFS (0x01) | O nome do arquivo é o nome longo (nome NTFS) de um par de nomes longos/curtos. |
FILE_NAME_DOS (0x02) | O nome do arquivo é o nome curto (nome dos DOS) de um par de nomes longos/curtos. |
Reserved
Reservado para uso do sistema.
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 |
---|---|
Cliente mínimo com suporte | Windows 11, versão 22H2 |
Cabeçalho | ntifs.h |