プラットフォーム 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

Page view tracker