ファイル属性定数は、ディスク上のファイル システムによって格納されるメタデータ値を定義し、システムによって使用され、さまざまなファイル I/O API を介して開発者が使用できます。 これらの定数を使用すると、開発者は、読み取り専用、非表示、圧縮属性などのファイル プロパティを確認および設定できます。 関連する API とトピックの一覧については、「 関連項目」 セクションを参照してください。
Example
FILE_BASIC_INFO basicInfo;
BOOL result;
result = GetFileInformationByHandleEx( hFile,
FileBasicInfo,
&basicInfo,
sizeof(basicInfo));
\\...
printf(" File Attributes: ");
PrintFileAttributes(basicInfo.FileAttributes);
\\...
VOID
PrintFileAttributes(
ULONG FileAttributes
)
{
if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
printf("Archive ");
}
if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("Directory ");
}
if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("Read-Only ");
}
}
GitHub の Windows クラシック サンプルの例 。
| 定数/値 | Description |
|---|---|
|
読み取り専用のファイル。 アプリケーションはファイルを読み取ることができますが、ファイルに書き込んだり削除したりすることはできません。 この属性は、ディレクトリでは使用できません。 |
|
ファイルまたはディレクトリは非表示です。 通常のディレクトリ 一覧には含まれません。 |
|
オペレーティング システムが一部を使用するか、排他的に使用するファイルまたはディレクトリ。 |
|
ディレクトリを識別するハンドル。 |
|
アーカイブ ファイルまたはディレクトリであるファイルまたはディレクトリ。 通常、アプリケーションではこの属性を使用して、バックアップまたは削除のためにファイルをマークします。 |
|
この値は、システムで使用するために予約されています。 |
|
他の属性が設定されていないファイル。 この属性は、単独で使用する場合にのみ有効です。 |
|
一時ストレージに使用されているファイル。 ファイル システムは、十分なキャッシュ メモリが使用可能な場合、大量ストレージにデータを書き戻すのを回避します。通常、アプリケーションはハンドルを閉じた後に一時ファイルを削除するためです。 そのシナリオでは、システムはデータの書き込みを完全に回避できます。 それ以外の場合は、ハンドルが閉じられた後にデータが書き込まれます。 |
|
スパース ファイルであるファイル。 |
|
再解析ポイントが関連付けられているファイルまたはディレクトリ、またはシンボリック リンクであるファイル。 |
|
圧縮されたファイルまたはディレクトリ。 ファイルの場合、ファイル内のすべてのデータが圧縮されます。 ディレクトリの場合、圧縮は新しく作成されたファイルとサブディレクトリの既定値です。 |
|
ファイルのデータはすぐには使用できません。 この属性は、ファイル データがオフライン ストレージに物理的に移動されることを示します。 この属性は、階層型ストレージ管理ソフトウェアであるリモート ストレージによって使用されます。 アプリケーションでは、この属性を任意に変更しないでください。 |
|
ファイルまたはディレクトリは、コンテンツ インデックス サービスによってインデックスを作成されません。 |
|
暗号化されたファイルまたはディレクトリ。 ファイルの場合、ファイル内のすべてのデータ ストリームが暗号化されます。 ディレクトリの場合、暗号化は新しく作成されたファイルとサブディレクトリの既定値です。 |
|
ディレクトリまたはユーザー データ ストリームは整合性で構成されます (ReFS ボリュームでのみサポートされます)。 通常のディレクトリ 一覧には含まれません。 ファイルの名前が変更された場合、整合性設定はファイルと共に保持されます。 ファイルがコピーされた場合、ソース ファイルまたはコピー先ディレクトリに整合性が設定されている場合、コピー先ファイルに整合性が設定されます。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグは、Windows Server 2012 までサポートされていません。 |
|
この値は、システムで使用するために予約されています。 |
|
バックグラウンド データ整合性スキャナー (AKA スクラバー) によって読み取られないユーザー データ ストリーム。 ディレクトリに設定すると、継承のみが提供されます。 このフラグは、記憶域スペースおよび ReFS ボリュームでのみサポートされます。 通常のディレクトリ 一覧には含まれません。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグは、Windows 8 および Windows Server 2012 までサポートされていません。 |
|
拡張属性を持つファイルまたはディレクトリ。 大事な: この定数は内部でのみ使用されます。 |
|
この属性は、アクティブにアクセスされていない場合でも、ファイルまたはディレクトリを完全にローカルに保持する必要があることをユーザーの意図で示します。 この属性は、階層型ストレージ管理ソフトウェアで使用します。 |
|
この属性は、アクティブにアクセスする場合を除き、ファイルまたはディレクトリをローカルに完全に存在させないことを示します。 この属性は、階層型ストレージ管理ソフトウェアで使用します。 |
|
この属性は、ディレクトリ列挙クラス (FILE_DIRECTORY_INFORMATION、FILE_BOTH_DIR_INFORMATIONなど) にのみ表示されます。 この属性が設定されている場合は、ファイルまたはディレクトリがローカル システムで物理的に表現されていないことを意味します。項目が仮想です。 アイテムを開くと通常よりもコストが高くなります。たとえば、少なくとも一部がリモート ストアからフェッチされます。 |
|
この属性を設定すると、ファイルまたはディレクトリが完全にローカルに存在しないことを意味します。 ファイルの場合、すべてのデータがローカル ストレージ上に存在するわけではありません (たとえば、一部のデータがリモート ストレージに残っている場合など)。 ディレクトリの場合、ディレクトリの内容の一部が別の場所から仮想化されていることを意味します。 ファイルの読み取り/ディレクトリの列挙は通常よりもコストがかかります。たとえば、少なくとも一部のファイル/ディレクトリコンテンツがリモートストアからフェッチされます。 このビットを設定できるのは、カーネル モードの呼び出し元だけです。 180000 – 189999高度範囲 (FSFilter HSM 読み込み順序グループ) 未満のファイル システム ミニ フィルターでは、この属性が設定されているファイルに対して、対象のキャッシュされた読み取りまたは書き込みを発行することはできません。 これにより、キャッシュの汚染やファイルの破損の可能性があります。 詳細については、「 プレースホルダーの処理」を参照してください。 |
Requirements
| Requirement | 価値 |
|---|---|
| サポートされている最小のクライアント | Windows XP [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ] |
| Header | WinNT.h (Windows.h を含む) |