指定されたパスに基づくファイルモニカを作成する。
CreateFileMoniker lpszPathName, ppmk
lpszPathName : [wstr] このモニカの基となるパス。このパラメータには相対パス、UNC パス、またはドライブレター付きパスを指定できる。相対パスを基にしている場合、結果として得られるモニカは、バインドする前に別のファイルモニカと合成する必要がある。 ppmk : [var] 新しいファイルモニカへのインターフェイスポインタを受け取る IMoniker* ポインタ変数のアドレス。成功時、関数はファイルモニカに対して AddRef を呼び出しており、呼び出し側が Release を呼び出す責任を負う。エラー発生時、インターフェイスポインタの値は NULL となる。
(プラグイン / モジュール : ole32.dll)
指定されたパスに基づくファイルモニカを作成する。 [戻り値] この関数は標準の戻り値 E_OUTOFMEMORY に加えて以下の値を返すことがある。 (以下省略) [備考] CreateFileMoniker は、ファイルに格納されたオブジェクトに対するモニカを作成する。モニカプロバイダ(他のオブジェクトにモニカを提供するオブジェクト)はこの関数を呼び出して、自身が制御するファイルベースのオブジェクトを識別するモニカを作成し、そのモニカへのポインタを他のオブジェクトに提供できる。ファイルモニカで識別されるオブジェクトは、ファイルモニカがバインドされたときにロードできるように、IPersistFile インターフェイスも実装していなければならない。各オブジェクトがそれぞれ独自のファイルに存在する場合(たとえば、ファイルベースのドキュメント全体に対するリンクのみをサポートする OLE サーバーアプリケーション)、必要なモニカの種類はファイルモニカのみである。ファイルより小さい単位のオブジェクトを識別するには、モニカプロバイダはファイルモニカに加えて別の種類のモニカ(アイテムモニカなど)を使用し、合成モニカを作成する必要がある。ドキュメントのセクションや埋め込みオブジェクトなど、ドキュメントより小さい単位のオブジェクトへのリンクをサポートする OLE サーバーアプリケーションでは合成モニカが必要となる。ファイルモニカは、もう一方のファイルモニカが絶対パスに基づき、かつこのファイルモニカが相対パスである場合に限り、他のファイルモニカの右に合成することができる。その結果、2 つのパスの組み合わせに基づく単一のファイルモニカが得られる。別のモニカの右に合成されるモニカは、そのモニカの細分化でなければならず、ファイルモニカはストレージの最大単位を表す。ファイル内に格納されたオブジェクトを識別するには、ファイルモニカの右に他の種類のモニカ(通常はアイテムモニカ)を合成する。
| プラグイン / モジュール | ole32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ole32_gen2.hs |