Share via


CFile::GetStatus

このメソッドは、指定された CFile オブジェクト インスタンスまたは指定されたファイル パスに関連したステータス情報を取得します。

BOOL GetStatus(
   CFileStatus& rStatus 
) const;
static BOOL PASCAL GetStatus(
   LPCTSTR lpszFileName,
   CFileStatus& rStatus,
   CAtlTransactionManager* pTM = NULL
);

パラメーター

  • rStatus
    ステータス情報を受け取る、ユーザー指定の CFileStatus 構造体への参照。CFileStatus 構造体には、次のフィールドがあります。

    • CTime m_ctime ファイルの作成日時。

    • CTime m_mtime は、最終更新日時ファイルです。

    • CTime m_atime ファイルが読み取りのために最後にアクセスされた日時。

    • ULONGLONG m_size DIR コマンドによって報告されるバイト ファイルの論理サイズ。

    • BYTE m_attribute ファイルの属性のバイト数。

    • Windowschar m_szFullName[_MAX_PATH] の文字セットの絶対ファイル名。

  • lpszFileName
    目的のファイルへのパスを示す Windows 文字セットでの文字列。相対パスまたは絶対パスを指定できます。また、ネットワーク パス名を使用できます。

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

戻り値

指定したファイルのステータス情報を取得できた場合は TRUE を返します。それ以外の場合は FALSE を返します。

解説

非静的なバージョンの GetStatus は、指定された CFile オブジェクトに関連付けられていて開いているファイルのステータス情報を取得します。静的なバージョンの GetStatus は、実際にファイルを開くことなく、指定されたファイル パスからファイル ステータスを取得します。ファイルの存在やファイルへのアクセス権を調べるときに便利です。

CFileStatus 構造体の m_attribute メンバーは、設定されているファイル属性を表します。CFile クラスには、ファイル属性を定数表現で指定できるように、Attribute という列挙型が定義されています。

enum Attribute {

normal = 0x00,

readOnly = 0x01,

hidden = 0x02,

system = 0x04,

volume = 0x08,

directory = 0x10,

archive = 0x20

};

使用例

CFile cfile;
cfile.Open(_T("SetLength_File.dat"), CFile::modeCreate |
   CFile::modeReadWrite);
ULONGLONG dwNewLength = 10000;
cfile.SetLength(dwNewLength);
CFileStatus status;
if(cfile.GetStatus(status))    // virtual member function
{
   TRACE(_T("File size = %u\n"), status.m_size);
}
TCHAR* pszFileName = _T("SetLength_File.dat");
if(CFile::GetStatus(pszFileName, status))   // static function
{
   TRACE(_T("Full file name = %s\n"), status.m_szFullName);
}

必要条件

ヘッダー : afx.h

参照

関連項目

CFile クラス

階層図

CFile::SetStatus

CTime クラス