ファイル モニカー
ファイル モニカー は最も単純なモニカー クラスです。 ファイル モニカーを使用すると、独自のファイルに格納されているオブジェクトを識別できます。 ファイル モニカーは、ネイティブ ファイル システムがファイルに割り当てるパス名のラッパーとして機能します。 このモニカーに対して IMoniker::BindToObject を呼び出すと、このオブジェクトがアクティブになり、オブジェクトへのインターフェイス ポインターが返されます。 モニカーによって名前付けされたオブジェクトのソースは、ファイル モニカーのバインドをサポートするために IPersistFile インターフェイスを実装する必要があります。 ファイル モニカーは、完全パスまたは相対パスを表すことができます。
たとえば、ファイル C:\Work\MySheet.xls として保存されているスプレッドシート オブジェクトのファイル モニカーには、そのパス名と同等の情報が含まれます。 ただし、モニカーは必ずしも同じ文字列で構成されるとは限りません。 この文字列は、単なる display 名であり、エンド ユーザーにとって意味のあるモニカーの内容を表したものです。 IMoniker::GetDisplayName メソッドで使用できる表示名は、モニカーをエンド ユーザーに表示する場合にのみ使用されます。 このメソッドは、モニカー クラスの表示名を取得します。 内部的には、モニカーは、モニカー操作の実行には効率的ですが、ユーザーにとっては意味のない形式で同じ情報を保存することがあります。 その後、この同じオブジェクトが BindToObject メソッドの呼び出しを介してバインドされると、おそらくスプレッドシートにファイルを読み込むことで、オブジェクトがアクティブになります。
OLE には、ファイル モニカー オブジェクトを作成し、プロバイダーへのポインターを返すヘルパー関数 CreateFileMoniker がモニカー プロバイダーに用意されています。