IPersistFile::GetCurFile メソッド (objidl.h)

オブジェクトに関連付けられているファイルの現在の名前を取得します。 現在の作業ファイルがない場合、このメソッドは オブジェクトの既定の保存プロンプトを取得します。

構文

HRESULT GetCurFile(
  [out] LPOLESTR *ppszFileName
);

パラメーター

[out] ppszFileName

現在のファイルまたは既定のファイル名プロンプト (*.txt など) のパス。 エラーが発生した場合、 ppszFileNameNULL に設定されます。

戻り値

このメソッドは、次の値を返すことができます。

リターン コード 説明
S_OK
有効な絶対パスが正常に返されました。
S_FALSE
既定の保存プロンプトが返されました。
E_OUTOFMEMORY
メモリ不足のため、操作が失敗しました。
E_FAIL
メモリ不足以外の何らかの理由により、操作が失敗しました。

注釈

このメソッドは、IMalloc::Alloc メソッドを使用して、ppszFileName パラメーターで返される文字列にメモリを割り当てます。 呼び出し元は、 IMalloc::Free メソッドを呼び出して文字列を解放する役割を担います。 呼び出し元とこのメソッドの両方で、 CoGetMalloc の呼び出しによって提供される OLE タスク アロケーターが使用されます。

ppszFileName で返されるファイル名は、ドキュメントが読み込まれたときに IPersistFile::Load の呼び出しで指定された名前です。または、ドキュメントが別のファイルに保存されている場合は、IPersistFile::SaveCompleted で。

オブジェクトに現在の作業ファイルがない場合は、[ 名前を付けて保存] ダイアログ ボックスに表示される既定のプロンプトが表示されます。 たとえば、ワード プロセッサ オブジェクトの既定の保存プロンプトは、

"*.txt"

呼び出し元へのメモ

OLE は GetCurFile メソッドを呼び出しません。 アプリケーションは、このインターフェイスの save メソッドも呼び出さない限り、このメソッドを呼び出しません。

オブジェクトを保存するときに、 IPersistFile::Save を呼び出す前にこのメソッドを呼び出して、オブジェクトに関連付けられているファイルがあるかどうかを判断できます。 このメソッドがS_OKを返す場合は、NULL ファイル名と fRemember パラメーターの TRUE 値を使用して IPersistFile::Save を呼び出して、オブジェクトに現在のファイルに保存するように指示できます。 このメソッドがS_FALSEを返す場合は、 ppszFileName パラメーターで返される保存プロンプトを使用して、エンド ユーザーにファイル名の入力を求めることができます。 次に、ユーザーが入力したファイル名で IPersistFile::Save を 呼び出して 、名前を付けて保存 操作を実行できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー objidl.h

こちらもご覧ください

IPersistFile