estrutura FILE_OBJECTID_INFORMATION (ntifs.h)
A estrutura FILE_OBJECTID_INFORMATION é usada para consultar informações de ID de objeto para os arquivos em um diretório em um volume NTFS.
Sintaxe
typedef struct _FILE_OBJECTID_INFORMATION {
LONGLONG FileReference;
UCHAR ObjectId[16];
union {
struct {
UCHAR BirthVolumeId[16];
UCHAR BirthObjectId[16];
UCHAR DomainId[16];
} DUMMYSTRUCTNAME;
UCHAR ExtendedInfo[48];
} DUMMYUNIONNAME;
} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
Membros
FileReference
O número de referência de arquivo de 8 bytes para o arquivo. O NTFS gera esse número e o atribui ao arquivo automaticamente quando o arquivo é criado.
ObjectId[16]
A ID do objeto de arquivo de 16 bytes para o arquivo. O NTFS gera esse número e o atribui ao arquivo a pedido de um driver ou aplicativo. As IDs de objeto de arquivo têm a garantia de serem exclusivas somente dentro do volume em que o arquivo reside.
DUMMYUNIONNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthVolumeId[16]
O identificador de objeto do volume no qual o arquivo residia quando o identificador de objeto foi criado ou zero se o volume não tivesse nenhum identificador de objeto naquele momento. Após operações de cópia, operações de movimentação ou outras operações de arquivo, BirthVolumeId pode não ser o mesmo que o identificador de objeto do volume no qual o objeto reside atualmente.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]
O identificador de objeto do arquivo no momento em que ele foi criado. Após operações de cópia, operações de movimentação ou outras operações de arquivo
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]
Reservado; deve ser zero.
DUMMYUNIONNAME.ExtendedInfo[48]
Dados fornecidos pelo usuário. Você pode usá-lo para conter os membros BirthVolumeID, BirthObjectIDe DomainID ou pode definir uma estrutura de dados diferente.
Observações
Essas informações podem ser consultadas de qualquer uma das seguintes maneiras:
Chame ZwQueryDirectoryFile, passando FileObjectIdInformation como o valor de FileInformationClass e passando um buffer alocado por um chamador, FILE_OBJECTID_INFORMATIONestruturado como o valor de FileInformation.
Crie um IRP com código de função principal IRP_MJ_DIRECTORY_CONTROL e código de função secundária IRP_MN_QUERY_DIRECTORY.
Nenhum direito de acesso especial é necessário para consultar essas informações.
O suporte para números de referência de arquivo e IDs de objeto de arquivo é específico do sistema de arquivos:
- As IDs de objeto de arquivo têm suporte apenas em volumes NTFS. O NTFS permite que os arquivos sejam abertos pela ID do objeto, bem como pelo número de referência do arquivo.
- O ReFS não dá suporte a IDs de objeto. O ReFS usa IDs de arquivo de 128 bits, portanto, não é possível distinguir de forma limpa entre a ID do arquivo versus a ID do objeto ao processar uma ID aberta por ID. (As IDs de arquivo são de 64 bits no NTFS, portanto, são facilmente distinguidas das IDs de objeto. O NTFS também dá suporte simultaneamente à abertura por ID de 128 bits: se os 64 bits altos forem zero, os 64 bits baixos serão tratados como uma ID de arquivo; caso contrário, o valor de 128 bits é tratado como uma ID de objeto.)
Os drivers de filtro do sistema de arquivos que usam IDs de objeto de arquivo devem ser testados para interoperabilidade com DFS, o serviço Replicator e o serviço de Acompanhamento de Link Distribuído, todos os quais usam e manipulam IDs de objeto de arquivo.
Essa estrutura deve ser alinhada em um limite LONG (4 bytes).
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 |
cabeçalho | ntifs.h (inclua Ntifs.h, Fltkernel.h) |