オブジェクトに関連付けられたファイルの現在の名前を取得する。現在の作業ファイルがない場合は、オブジェクトの既定の保存プロンプトを取得する。
IPersistFile_GetCurFile this, ppszFileName
this : [comobj] IPersistFile インターフェースの COM オブジェクト変数 ppszFileName : [var] 現在のファイルのパス、または既定のファイル名プロンプト(例えば *.txt)。エラーが発生した場合 ppszFileName は NULL に設定される。
(プラグイン / モジュール : com_misc.dll)
オブジェクトに関連付けられたファイルの現在の名前を取得する。現在の作業ファイルがない場合は、オブジェクトの既定の保存プロンプトを取得する。 [戻り値] このメソッドは以下の値を返すことがある。 (以下省略) [備考] このメソッドは ppszFileName パラメーターで返される文字列のメモリを IMalloc::Alloc メソッドを使って確保する。呼び出し側は IMalloc::Free メソッドを呼び出して文字列を解放する責任がある。呼び出し側とこのメソッドの双方は CoGetMalloc の呼び出しで取得できる OLE タスクアロケーターを使用する。ppszFileName で返されるファイル名は、ドキュメントがロードされたときに IPersistFile::Load の呼び出しで指定されたものである。あるいはドキュメントが別のファイルに保存された場合は IPersistFile::SaveCompleted で指定されたものである。オブジェクトに現在の作業ファイルがない場合は、[名前を付けて保存] ダイアログボックスに表示する既定のプロンプトを提供すべきである。例えばワードプロセッサオブジェクトの既定の保存プロンプトは「*.txt」などになる。呼び出し側へのメモ OLE は GetCurFile メソッドを呼び出さない。アプリケーションがこのインターフェースの保存メソッドも呼び出している場合を除いて、このメソッドを呼び出すことはない。オブジェクトを保存する際、IPersistFile::Save を呼び出す前にこのメソッドを呼び出して、オブジェクトに関連付けられたファイルがあるかどうかを判定できる。このメソッドが S_OK を返した場合、IPersistFile::Save を filename が NULL かつ fRemember パラメーターが TRUE で呼び出して、オブジェクトに現在のファイルに自身を保存するよう指示できる。このメソッドが S_FALSE を返した場合は ppszFileName パラメーターで返された保存プロンプトを使ってエンドユーザーにファイル名の提供を求め、ユーザーが入力したファイル名を指定して IPersistFile::Save を呼び出して名前を付けて保存操作を行える。
| プラグイン / モジュール | com_misc.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_com_misc_gen2.hs |