次の方法で共有


FILE_OBJECTID_INFORMATION構造体 (ntifs.h)

FILE_OBJECTID_INFORMATION 構造体は、NTFS ボリューム上のディレクトリ内のファイルのオブジェクト ID 情報を照会するために使用されます。

構文

typedef struct _FILE_OBJECTID_INFORMATION {
  LONGLONG FileReference;
  UCHAR    ObjectId[16];
  union {
    struct {
      UCHAR BirthVolumeId[16];
      UCHAR BirthObjectId[16];
      UCHAR DomainId[16];
    } DUMMYSTRUCTNAME;
    UCHAR ExtendedInfo[48];
  } DUMMYUNIONNAME;
} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;

メンバーズ

FileReference

ファイルの 8 バイト のファイル参照番号。 NTFS は、この番号を生成し、ファイルの作成時に自動的にファイルに割り当てます。

ObjectId[16]

ファイルの 16 バイト ファイル オブジェクト ID。 NTFS は、この番号を生成し、ドライバーまたはアプリケーションの要求に応じてファイルに割り当てます。 ファイル オブジェクト ID は、ファイルが存在するボリューム内でのみ一意であることが保証されます。

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthVolumeId[16]

オブジェクト識別子の作成時にファイルが存在していたボリュームのオブジェクト識別子。その時点でボリュームにオブジェクト識別子がない場合は 0。 コピー操作、移動操作、またはその他のファイル操作の後、BirthVolumeId は、オブジェクトが現在存在しているボリュームのオブジェクト識別子と同じでない場合があります。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]

作成時のファイルのオブジェクト識別子。 BirthObjectId コピー操作、移動操作、またはその他のファイル操作が、ObjectId メンバーの現在の値と同じでない場合があります。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]

引っ込み思案;は 0 にする必要があります。

DUMMYUNIONNAME.ExtendedInfo[48]

ユーザー指定のデータ。 これを使用して、BirthVolumeIDBirthObjectID、および DomainID メンバーを したり、別のデータ構造を定義することができます。

備考

この情報は、次のいずれかの方法で照会できます。

  • ZwQueryDirectoryFileを呼び出し、FileObjectIdInformation を FileInformationClass の値として渡し、呼び出し元によって割り当てられた FILE_OBJECTID_INFORMATION構造化バッファー FileInformationの値として渡します。

  • メジャー関数コード IRP_MJ_DIRECTORY_CONTROLとマイナー関数コード IRP_MN_QUERY_DIRECTORYを含む IRP を作成します。

この情報を照会するために特別なアクセス権は必要ありません。

ファイル参照番号とファイル オブジェクト ID のサポートは、ファイル システム固有です。

  • ファイル オブジェクト ID は NTFS ボリュームでのみサポートされます。 NTFS を使用すると、オブジェクト ID とファイル参照番号でファイルを開くことができます。
  • ReFS はオブジェクト ID をサポートしていません。 ReFS では 128 ビットのファイル ID が使用されるため、ファイル ID とオブジェクト ID を ID で開く処理時に正確に区別することはできません。 (ファイル ID は NTFS では 64 ビットであるため、オブジェクト ID と簡単に区別できます。NTFS では、128 ビット ID による開始も同時にサポートされます。上位 64 ビットがゼロの場合、下位 64 ビットはファイル ID として扱われます。それ以外の場合、128 ビット値はオブジェクト ID として扱われます)。

ファイル オブジェクト ID を使用するファイル システム フィルター ドライバーは、DFS、レプリケーター サービス、および分散リンク追跡サービスとの相互運用性をテストする必要があります。これらはすべて、ファイル オブジェクト ID を使用して操作します。

この構造体は、LONG (4 バイト) 境界に配置する必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ヘッダー ntifs.h (Ntifs.h、Fltkernel.h を含む)

関連項目

FILE_INTERNAL_INFORMATION

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile