FILE_FS_OBJECTID_INFORMATION structure

The FILE_FS_OBJECTID_INFORMATION structure is used to query or set the object ID for a file system volume.

Syntax


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

Members

ObjectId

Object ID for the file system volume.

ExtendedInfo

Additional information about the file system volume.

Remarks

This information can be queried in either of the following ways:

  • Call FltQueryVolumeInformation or ZwQueryVolumeInformationFile, passing FileFsObjectIdInformation as the value of FileInformationClass and passing a caller-allocated, FILE_FS_OBJECTID_INFORMATION-structured buffer as the value of FileInformation.

  • Create an IRP with major function code IRP_MJ_QUERY_VOLUME_INFORMATION.

No specific access rights are required to query this information. Thus this information is available as long as the volume is accessed through an open handle to the volume itself, or to a file or directory on the volume.

This information can be set in either of the following ways:

  • Call FltSetVolumeInformation or FltSetVolumeInformation, passing FileFsObjectIdInformation as the value of FileInformationClass and passing a caller-allocated, FILE_FS_OBJECTID_INFORMATION-structured buffer as the value of FileInformation.

  • Create an IRP with major function code IRP_MJ_SET_VOLUME_INFORMATION.

FILE_WRITE_DATA access to the volume is required to set this information.

Support for volume object IDs is file-system-specific. In NTFS, volume object IDs are used extensively by the distributed link tracking service.

It is important to note that the volume object ID is not the same as the volume GUID. The volume object ID is assigned to the file system volume by the file system. The volume GUID, or unique volume name, is file system-independent; it is assigned to the underlying storage volume by the Volume Mount Manager.

To get the volume GUID for a volume, use the Win32 GetVolumeNameForVolumeMountPoint function or the FltGetVolumeGuidName routine.

The size of the buffer passed in the FileInformation parameter to FltQueryVolumeInformation, FltSetVolumeInformation, ZwQueryVolumeInformationFile, or ZwSetVolumeInformationFile must be at least sizeof (FILE_FS_OBJECTID_INFORMATION).

This structure must be aligned on a LONGLONG (8-byte) boundary.

Requirements

Header

Ntddk.h (include Ntddk.h, Ntifs.h, or Fltkernel.h)

See also

FltGetVolumeGuidName
FltQueryVolumeInformation
FltSetVolumeInformation
IRP_MJ_QUERY_VOLUME_INFORMATION
IRP_MJ_SET_VOLUME_INFORMATION
ZwQueryVolumeInformationFile
ZwSetVolumeInformationFile

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft