プラットフォーム SDK
SetFileAttributes
ファイルの属性を設定します。
BOOL SetFileAttributes(
LPCTSTR lpFileName, // ファイル名
DWORD dwFileAttributes // 属性
);
パラメータ
- lpFileName
- 属性を設定するべきファイル名を保持している、NULL で終わる文字列へのポインタを指定します。
Windows NT/2000:この関数の ANSI 版では、名前は最大 MAX_PATH 文字に制限されています。この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加してください。詳細については、MSDN ライブラリの「」(ファイル名の規則)を参照してください。
Windows 95/98:文字列の長さは、最大 MAX_PATH 文字です。
- dwFileAttributes
- ファイルに割り当てるべきファイル属性を指定します。次の属性の任意の組み合わせを指定します。ただし、FILE_ATTRIBUTE_NORMAL は単独で指定します。FILE_ATTRIBUTE_NORMAL と他の属性のいずれかを共に指定すると、FILE_ATTRIBUTE_NORMAL は無効になります。
| 属性 | 意味 |
| FILE_ATTRIBUTE_ARCHIVE | このファイルをアーカイブファイルにします。アプリケーションはこの属性を、ファイルのバックアップや削除のためのマークとして使います。 |
| FILE_ATTRIBUTE_HIDDEN | このファイルを隠しファイルにします。通常のディレクトリリスティングでは表示されません。 |
| FILE_ATTRIBUTE_NORMAL | このファイルに特に属性を設定しません。単独で指定した場合にのみ、この属性は有効です。 |
| FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | Windows 2000:このファイルを、「インデックスサービス」の対象にしません。 |
| FILE_ATTRIBUTE_OFFLINE | Windows 2000:このファイルのデータは、すぐには利用できません。個の属性は、このファイルのデータがオフラインの記憶装置へ物理的に移動されたことを示します。この属性は、Windows 2000 の階層記憶管理ソフトウェアである「リモート記憶域」が利用するものです。アプリケーションは、任意にこの属性を変更するべきではありません。 |
| FILE_ATTRIBUTE_READONLY | このファイルを読み取り専用に設定します。アプリケーションはこのファイルの読み取りを行えますが、書き込みや削除はできません。 |
| FILE_ATTRIBUTE_SYSTEM | このファイルは、オペレーティングシステムのファイルの一部、またはオペレーティングシステム専用のファイルです。 |
| FILE_ATTRIBUTE_TEMPORARY | このファイルを、一時ファイルとして使います。ファイルシステムは、データをハードディスクのような大容量記憶装置へ書き込む代わりに、高速なアクセスが行えるよう、すべてのデータをメモリ内に維持することを試みます。アプリケーションは、必要がなくなった段階で一時ファイルをすぐに削除するべきです。 |
戻り値
関数が成功すると、0 以外の値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
解説
いくつかの属性は、SetFileAttributes 関数を呼び出しても設定できません。次の表は、それらの属性を設定する方法を示します。
| 属性 | 設定方法 |
| FILE_ATTRIBUTE_COMPRESSED | ファイルの圧縮状態を設定するには、FSCTL_SET_COMPRESSION の動作を指定して 関数を使ってください。 |
| FILE_ATTRIBUTE_DEVICE | 予約済みです。使わないでください。 |
| FILE_ATTRIBUTE_DIRECTORY | ファイルをディレクトリへ変換することはできません。ディレクトリを作成するには、CreateDirectory または CreateDirectoryEx 関数を使ってください。 |
| FILE_ATTRIBUTE_ENCRYPTED | 暗号化ファイルを作成するには、FILE_ATTRIBUTE_ENCRYPTED 属性を指定して CreateFile 関数を使ってください。既存のファイルを暗号化ファイルへ変換するには、EncryptFile 関数を使ってください。 |
| FILE_ATTRIBUTE_REPARSE_POINT | ファイルに再解析ポイントを関連付けるには、FSCTL_SET_REPARSE_POINT の動作を指定して 関数を使ってください。 |
| FILE_ATTRIBUTE_SPARSE_FILE | ファイルの再解析ポイントを設定するには、FSCTL_SET_SPARSE の動作を指定して 関数を使ってください。 |
対応情報
Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winbase.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Kernel32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装
参照
GetFileAttributes