CFile::SetStatus
指定したファイル位置に関連付けられているファイルのステータスを設定します。
static void PASCAL SetStatus(
LPCTSTR lpszFileName,
const CFileStatus& status,
CAtlTransactionManager* pTM = NULL
);
パラメーター
lpszFileName
目的のファイルのパスを示す文字列。相対パスまたは絶対パスを指定できます。また、ネットワーク名を含めることができます。status
新しいステータス情報を保持するバッファー。GetStatus メンバー関数を呼び出し、あらかじめ CFileStatus 構造体に現在の値を格納しておいてください。その後で、必要な変更を行います。値が 0 のときは、対応するステータス情報は更新されません。CFileStatus 構造体については GetStatus メンバー関数の説明を参照してください。pTM
CAtlTransactionManager オブジェクトへのポインター。
解説
時刻を設定するには、status の m_mtime フィールドを変更します。
ファイルの属性だけを変更しようとして SetStatus 関数を呼び出したときに、ファイル ステータス構造体の m_mtime メンバーが 0 以外になっていると、それが属性にも影響する場合があります (タイム スタンプが変更されることで、属性に影響が及ぶ可能性があります)。属性だけを変更する場合は、ファイル ステータス構造体の m_mtime メンバーに 0 を設定してから SetStatus 関数を呼び出してください。
使用例
TCHAR* pFileName = _T("ReadOnly_File.dat");
CFileStatus status;
CFile::GetStatus(pFileName, status);
status.m_attribute |= CFile::readOnly;
CFile::SetStatus(pFileName, status);
必要条件
ヘッダー : afx.h