次の方法で共有


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]

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

DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]

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

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]

予約;は 0 である必要があります。

DUMMYUNIONNAME.ExtendedInfo[48]

ユーザー指定のデータ。 BirthVolumeID、BirthObjectIDDomainID の各メンバーを格納するために使用することも、別のデータ構造を定義することもできます。

注釈

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

  • 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、レプリケーター サービス、および Distributed Link Tracking サービスとの相互運用性をテストする必要があります。これらはすべて、ファイル オブジェクト ID を使用して操作します。

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

要件

要件
サポートされている最小のクライアント Windows 2000
Header ntifs.h (Ntifs.h、Fltkernel.h を含む)

こちらもご覧ください

FILE_INTERNAL_INFORMATION

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile