次の方法で共有


FILE_FS_ATTRIBUTE_INFORMATION構造体 (ntifs.h)

FILE_FS_ATTRIBUTE_INFORMATION 構造体は、ファイル システムの属性情報を照会するために使用されます。

構文

typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
  ULONG FileSystemAttributes;
  LONG  MaximumComponentNameLength;
  ULONG FileSystemNameLength;
  WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;

メンバーズ

FileSystemAttributes

次のフラグの互換性のある組み合わせとして、指定されたファイル システムの属性を指定するフラグのビットマスク。

価値 意味
FILE_CASE_SENSITIVE_SEARCH (0x00000001) ファイル システムでは、大文字と小文字が区別されるファイル名がサポートされています。
FILE_CASE_PRESERVED_NAMES (0x00000002) ファイル システムでは、ディスクに名前を配置するときに、ファイル名の大文字と小文字が保持されます。
FILE_UNICODE_ON_DISK (0x00000004) ファイル システムでは、ファイル名 Unicode がサポートされます。
FILE_PERSISTENT_ACLS (0x00000008) ファイル システムは、アクセス制御リスト (ACL) を保持し、適用します。
FILE_FILE_COMPRESSION (0x00000010) ファイル システムでは、ファイル ベースの圧縮がサポートされています。 このフラグは、FILE_VOLUME_IS_COMPRESSED フラグと互換性がありません。 このフラグは、ネットワーク経由でのデータの転送方法には影響しません。
FILE_VOLUME_QUOTAS (0x00000020) ファイル システムでは、ユーザーごとのクォータがサポートされます。
FILE_SUPPORTS_SPARSE_FILES (0x00000040) ファイル システムでは、スパース ファイルがサポートされています。
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) ファイル システムは、ポイント再解析をサポートします。
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) ファイル システムはリモート ストレージをサポートします。
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) クリーンアップ操作が成功すると、ファイル システムは、ファイルの削除など、クリーンアップ中に実行された追加のアクションを説明する情報を返します。 ファイル システム フィルターは、クリーンアップ後のコールバックでこの情報を調べることができます。
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) ファイル システムでは、POSIX スタイルの削除操作と名前変更操作がサポートされています。
FILE_VOLUME_IS_COMPRESSED (0x00008000) 指定されたボリュームは圧縮ボリュームです。 このフラグは、FILE_FILE_COMPRESSION フラグと互換性がありません。 これは、ネットワーク経由でのデータの転送方法には影響しません。
FILE_SUPPORTS_OBJECT_IDS (0x00010000) ファイル システムでは、オブジェクト識別子がサポートされています。
FILE_SUPPORTS_ENCRYPTION (0x00020000) ファイル システムは暗号化をサポートしています。
FILE_NAMED_STREAMS (0x00040000) ファイル システムは、ファイルの名前付き データ ストリーム をサポートします。
FILE_READ_ONLY_VOLUME (0x00080000) 指定されたボリュームは読み取り専用です。
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) 指定されたボリュームは、1 回だけ書き込むことができます。 書き込みを順番に実行する必要があります。
FILE_SUPPORTS_TRANSACTIONS (0x00200000) ファイル システムは、トランザクション処理 をサポートします。
FILE_SUPPORTS_HARD_LINKS (0x00400000) ファイル システムは、他のデバイスとパーティションへの直接リンクをサポートしています。
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) ファイル システムは拡張属性 (EA) をサポートしています。
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) ファイル システムでは、ファイル ID で開く機能がサポートされています。
FILE_SUPPORTS_USN_JOURNAL (0x02000000) ファイル システムは、更新シーケンス番号 (USN) ジャーナルをサポートしています。
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) ファイル システムは、整合性ストリームをサポートします。
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) ファイル システムでは、ブロックの複製(つまり、同じボリューム上のファイル間で論理クラスターを共有する) がサポートされています。 ファイル システムは、共有クラスターへの書き込み時に再割り当てを行います。
FILE_SUPPORTS_SPARSE_VDL (0x10000000) ファイル システムは、ファイルの各クラスターに有効なデータ (明示的なファイル書き込みまたは自動ゼロのいずれか) が含まれているか、無効なデータ (まだ書き込まれていないかゼロにされたか) を追跡します。 スパース有効なデータ長 (VDL) を使用するファイル システムでは、有効なデータ長が格納されず、有効なデータがファイル内で連続している必要はありません。
FILE_DAX_VOLUME (0x20000000) 指定されたボリュームは、直接アクセス (DAX) ボリュームです。
FILE_SUPPORTS_GHOSTING (0x40000000) ファイル システムはゴースト処理をサポートしています。

MaximumComponentNameLength

指定したファイル システムでサポートされるファイル名コンポーネントの最大長 (文字数)。 ファイル名コンポーネントは、パス区切り文字 (円記号など) の間のファイル名の部分です。

FileSystemNameLength

ファイル システム名の長さ (バイト単位)。 このフィールドの値は 0 より大きくする必要があります。

FileSystemName[1]

ファイル システムの名前を含む可変長 Unicode フィールド。 このフィールドは null で終わるのではなく、fileSystemNameLength バイト シーケンスとして処理する必要があります。

備考

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

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

    • 注: CSVFS では、FileFsAttributeInformation は CSVFS ファイル システムの FILE_FS_ATTRIBUTE_INFORMATION を返します。 CSVFS が階層化 ファイル システムの FileFsAttributeInformation に対してクエリを実行する場合は、FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICSを使用する必要があります。
  • 主要な関数コードを IRP_MJ_QUERY_VOLUME_INFORMATIONIRP を作成します。

この情報を照会するために、特定のアクセス権は必要ありません。 したがって、この情報は、ボリューム自体、またはボリューム上のファイルまたはディレクトリに対するオープン ハンドルを介してボリュームにアクセスする限り使用できます。

FltQueryVolumeInformation または ZwQueryVolumeInformationFile するために、FileInformation パラメーターで渡されるバッファーのサイズは、少なくとも である必要があります。 ファイル システム名の最大長を想定できないため (実質的には、制限は 2^31 文字ポイントです)、FileSystemNameLength がわかったら、これらのルーチンの 2 つ目の呼び出し 必要になります。

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

必要条件

要件 価値
ヘッダー ntifs.h (Ntifs.h、Fltkernel.h を含む)

関連項目

ACL

FltQueryVolumeInformation の

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile