Share via


CFile::SetStatus

指定したファイル位置に関連付けられているファイルのステータスを設定します。

static void PASCAL SetStatus(
   LPCTSTR lpszFileName,
   const CFileStatus& status,
   CAtlTransactionManager* pTM = NULL
);

パラメーター

  • lpszFileName
    目的のファイルのパスを示す文字列。相対パスまたは絶対パスを指定できます。また、ネットワーク名を含めることができます。

  • status
    新しいステータス情報を保持するバッファー。GetStatus メンバー関数を呼び出し、あらかじめ CFileStatus 構造体に現在の値を格納しておいてください。その後で、必要な変更を行います。値が 0 のときは、対応するステータス情報は更新されません。CFileStatus 構造体については GetStatus メンバー関数の説明を参照してください。

  • pTM
    CAtlTransactionManager オブジェクトへのポインター。

解説

時刻を設定するには、statusm_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

参照

関連項目

CFile クラス

階層図

CFile::GetStatus