FILE_OBJECTID_BUFFER structure

Contains an object identifier and user-defined metadata associated with the object identifier.

Syntax


typedef struct _FILE_OBJECTID_BUFFER {
  BYTE  ObjectId[16];
  union {
    struct {
      BYTE BirthVolumeId[16];
      BYTE BirthObjectId[16];
      BYTE DomainId[16];
    };
    BYTE   ExtendedInfo[48];
  };
} FILE_OBJECTID_BUFFER, *PFILE_OBJECTID_BUFFER;

Members

ObjectId

The identifier that uniquely identifies the file or directory within the volume on which it resides.

BirthVolumeId

The identifier of the volume on which the object resided when the object identifier was created, or zero if the volume had no object identifier at that time. After copy operations, move operations, or other file operations, this may not be the same as the object identifier of the volume on which the object presently resides.

BirthObjectId

The object identifier of the object at the time it was created. After copy operations, move operations, or other file operations, this may not be the same as the ObjectId member at present.

DomainId

Reserved; must be zero.

ExtendedInfo

User-defined extended data to be set with FSCTL_SET_OBJECT_ID_EXTENDED. Use this data as an alternative to the BirthVolumeId, BirthObjectId, and DomainId members.

Remarks

Object identifiers are used to track files and directories. They are invisible to most applications and should never be modified by applications. Modifying an object identifier can result in the loss of data from portions of a file, up to and including entire volumes of data.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

WinIoCtl.h (include Windows.h)

See also

FSCTL_CREATE_OR_GET_OBJECT_ID
FSCTL_DELETE_OBJECT_ID
FSCTL_GET_OBJECT_ID
FSCTL_SET_OBJECT_ID
FSCTL_SET_OBJECT_ID_EXTENDED
Object Identifiers

 

 

Community Additions

ADD
Show:
© 2014 Microsoft