структура 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 тома для тома, используйте функцию GetVolumeNameForVolumeMountPointWили FltGetVolumeGuidName.
Размер буфера, переданный в параметре FileInformation, FltQueryVolumeInformation, FltSetVolumeInformation, ZwQueryVolumeInformationFileили ZwSetVolumeInformationFile должен быть по крайней мере размер (FILE_FS_OBJECTID_INFORMATION).
Эта структура должна быть выровнена по границе LONGLONG (8-байтов).
Требования
Требование | Ценность |
---|---|
заголовка | ntddk.h (include Ntddk.h, Ntifs.h, Fltkernel.h) |