Поделиться через


структура FILE_FS_OBJECTID_INFORMATION (ntddk.h)

Структура FILE_FS_OBJECTID_INFORMATION используется для запроса или задания идентификатора объекта для тома файловой системы.

Синтаксис

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

Члены

ObjectId[16]

16-байтовый ИДЕНТИФИКАТОР GUID, определяющий том файловой системы на диске.

ExtendedInfo[48]

48-байтовое значение, содержащее дополнительные сведения о томе файловой системы, определяемые дополнительными вызывающими абонентами. Значение этих расширенных сведений непрозрачно для файловой системы.

Комментарии

Эти сведения можно запросить с помощью любого из следующих способов:

  • Вызовите FltQueryVolumeInformation или ZwQueryVolumeInformationFile, передав FileFsObjectIdInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_FS_OBJECTID_INFORMATION структурированный буфер в качестве значения FileInformation.
  • Создайте IRP с основным кодом функции IRP_MJ_QUERY_VOLUME_INFORMATION.

Для запроса этих сведений не требуются определенные права доступа. Таким образом, эта информация доступна при условии, что доступ к тому осуществляется через открытый дескриптор для самого тома или файла или каталога на томе.

Эти сведения можно задать с помощью любого из следующих способов:

  • Вызовите FltSetVolumeInformation или ZwSetVolumeInformationFile, передав FileFsObjectIdInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_FS_OBJECTID_INFORMATION структурированный буфер в качестве значения FileInformation.
  • Создайте IRP с основным кодом функции IRP_MJ_SET_VOLUME_INFORMATION.

FILE_WRITE_DATA для установки этих сведений требуется доступ к тому.

Поддержка идентификаторов объектов томов зависит от файловой системы. В NTFS идентификаторы объектов томов широко используются службой отслеживания распределенных ссылок.

Важно отметить, что идентификатор объекта тома не совпадает с идентификатором GUID тома. Идентификатор объекта тома назначается тому файловой системы файловой системой. GUID тома или уникальное имя тома не зависит от файловой системы; Он назначается базовому тому хранилища диспетчером подключения томов.

Чтобы получить GUID тома для тома, используйте функцию Win32 GetVolumeNameForVolumeMountPointW или подпрограмму FltGetVolumeGuidName .

Размер буфера, передаваемого в параметре FileInformation в FltQueryVolumeInformation, FltSetVolumeInformation, ZwQueryVolumeInformationFile или ZwSetVolumeInformationFile , должен быть не менее sizeof (FILE_FS_OBJECTID_INFORMATION).

Эта структура должна быть выровнена по границе LONGLONG (8 байт).

Требования

Требование Значение
Заголовок ntddk.h (включая Ntddk.h, Ntifs.h, Fltkernel.h)

См. также раздел

FltGetVolumeGuidName

FltQueryVolumeInformation

FltSetVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

ZwQueryVolumeInformationFile

ZwSetVolumeInformationFile