estrutura FILE_FS_OBJECTID_INFORMATION (ntddk.h)

A estrutura FILE_FS_OBJECTID_INFORMATION é usada para consultar ou definir a ID do objeto para um volume do sistema de arquivos.

Sintaxe

typedef struct _FILE_FS_OBJECTID_INFORMATION {
  UCHAR ObjectId[16];
  UCHAR ExtendedInfo[48];
} FILE_FS_OBJECTID_INFORMATION, *PFILE_FS_OBJECTID_INFORMATION;

Membros

ObjectId[16]

Um GUID de 16 bytes que identifica o volume do sistema de arquivos no disco.

ExtendedInfo[48]

Um valor de 48 bytes que contém informações opcionais e adicionais definidas pelo chamador no volume do sistema de arquivos. O significado dessas informações estendidas é opaco para o sistema de arquivos.

Comentários

Essas informações podem ser consultadas de uma das seguintes maneiras:

  • Chame FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, passando FileFsObjectIdInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_FS_OBJECTID_INFORMATION estruturado como o valor de FileInformation.
  • Crie um IRP com o código de função principal IRP_MJ_QUERY_VOLUME_INFORMATION.

Nenhum direito de acesso específico é necessário para consultar essas informações. Portanto, essas informações estão disponíveis desde que o volume seja acessado por meio de um identificador aberto para o próprio volume ou para um arquivo ou diretório no volume.

Essas informações podem ser definidas de qualquer uma das seguintes maneiras:

  • Chame FltSetVolumeInformation ou ZwSetVolumeInformationFile, passando FileFsObjectIdInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_FS_OBJECTID_INFORMATION estruturado como o valor de FileInformation.
  • Crie um IRP com o código de função principal IRP_MJ_SET_VOLUME_INFORMATION.

FILE_WRITE_DATA acesso ao volume é necessário para definir essas informações.

O suporte para IDs de objeto de volume é específico do sistema de arquivos. No NTFS, as IDs de objeto de volume são usadas extensivamente pelo serviço de acompanhamento de link distribuído.

É importante observar que a ID do objeto de volume não é igual ao GUID do volume. A ID do objeto de volume é atribuída ao volume do sistema de arquivos pelo sistema de arquivos. O GUID do volume, ou nome de volume exclusivo, é independente do sistema de arquivos; ele é atribuído ao volume de armazenamento subjacente pelo Gerenciador de Montagem de Volume.

Para obter o GUID do volume de um volume, use a função Win32 GetVolumeNameForVolumeMountPointW ou a rotina FltGetVolumeGuidName .

O tamanho do buffer passado no parâmetro FileInformation para FltQueryVolumeInformation, FltSetVolumeInformation, ZwQueryVolumeInformationFile ou ZwSetVolumeInformationFile deve ser pelo menos sizeof (FILE_FS_OBJECTID_INFORMATION).

Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).

Requisitos

Requisito Valor
Cabeçalho ntddk.h (inclua Ntddk.h, Ntifs.h, Fltkernel.h)

Confira também

FltGetVolumeGuidName

FltQueryVolumeInformation

FltSetVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

ZwQueryVolumeInformationFile

ZwSetVolumeInformationFile