ファイル属性定数
ファイル属性は、ディスク上のファイル システムによって格納されるメタデータ値であり、システムによって使用され、さまざまなファイル I/O API を介して開発者が使用できます。 関連する API とトピックの一覧については、「関連項目 」セクションを参照 してください。
例
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 |
---|---|
|
読み取り専用のファイル。 アプリケーションはファイルを読み取ることができますが、ファイルに書き込んだり削除したりすることはできません。 この属性はディレクトリでは受け入れられません。 詳細については、「 Windows Server 2003、Windows XP、Windows Vista、または Windows 7 では、フォルダーの読み取り専用またはシステム属性を表示または変更できない」を参照してください。 |
|
ファイルまたはディレクトリは非表示です。 通常のディレクトリ一覧には含まれません。 |
|
オペレーティング システムがの一部を使用するか、排他的に使用するファイルまたはディレクトリ。 |
|
ディレクトリを識別するハンドル。 |
|
アーカイブ ファイルまたはディレクトリであるファイルまたはディレクトリ。 アプリケーションでは通常、この属性を使用して、バックアップまたは削除のためにファイルをマークします。 |
|
この値は、システムで使用するために予約されています。 |
|
他の属性が設定されていないファイル。 この属性は、単独で使用する場合にのみ有効です。 |
|
一時ストレージに使用されているファイル。 十分なキャッシュ メモリが使用可能な場合、ファイル システムは大容量ストレージにデータを書き戻さないようにします。これは、通常、ハンドルが閉じられた後にアプリケーションによって一時ファイルが削除されるためです。 そのシナリオでは、システムはデータの書き込みを完全に回避できます。 それ以外の場合、データはハンドルが閉じられた後に書き込まれます。 |
|
スパース ファイルであるファイル。 |
|
再解析ポイントが関連付けられているファイルまたはディレクトリ、またはシンボリック リンクであるファイル。 |
|
圧縮されたファイルまたはディレクトリ。 ファイルの場合、ファイル内のすべてのデータが圧縮されます。 ディレクトリの場合、圧縮は新しく作成されたファイルとサブディレクトリの既定値です。 |
|
ファイルのデータはすぐには使用できません。 この属性は、ファイル データが物理的にオフライン ストレージに移動されることを示します。 この属性は、階層ストレージ管理ソフトウェアであるリモート ストレージによって使用されます。 アプリケーションでは、この属性を任意に変更しないでください。 |
|
ファイルまたはディレクトリは、コンテンツ インデックス作成サービスによってインデックスを作成されません。 |
|
暗号化されたファイルまたはディレクトリ。 ファイルの場合、ファイル内のすべてのデータ ストリームが暗号化されます。 ディレクトリの場合、暗号化は新しく作成されたファイルとサブディレクトリの既定値です。 |
|
ディレクトリまたはユーザー データ ストリームは、整合性で構成されます (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 読み込み順序グループ) 未満のファイル システム ミニ フィルターでは、この属性が設定されているファイルに対して、対象となるキャッシュされた読み取りまたは書き込みを発行しないでください。 これにより、キャッシュの汚染やファイルの破損の可能性があります。 詳細については、「プレースホルダーの 処理」を参照してください。 |
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | WinNT.h (Windows.h を含む) |