CreateFileMoniker 関数 (objbase.h)
指定したパスに基づいてファイル モニカーを作成します。
構文
HRESULT CreateFileMoniker(
[in] LPCOLESTR lpszPathName,
[out] LPMONIKER *ppmk
);
パラメーター
[in] lpszPathName
このモニカーの基になるパス。
このパラメーターでは、相対パス、UNC パス、またはドライブ文字ベースのパスを指定できます。 相対パスに基づく場合は、バインドする前に、結果のモニカーを別のファイル モニカーに構成する必要があります。
[out] ppmk
新しいファイル モニカーへのインターフェイス ポインターを受け取る IMoniker* ポインター変数のアドレス。 成功した場合、関数はファイル モニカーで AddRef を呼び出し、呼び出し元は Release を呼び出す役割を担います。 エラーが発生すると、インターフェイス ポインターの値は NULL になります。
戻り値
この関数は、E_OUTOFMEMORY標準の戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
モニカーが正常に作成されました。 |
|
パスの構文にエラーが発生しました。 |
注釈
CreateFileMoniker は、ファイルに格納されているオブジェクトのモニカーを作成します。 モニカー プロバイダー (他のオブジェクトにモニカーを提供するオブジェクト) は、この関数を呼び出してモニカーを作成して、それが制御するファイル ベースのオブジェクトを識別し、このモニカーへのポインターを他のオブジェクトが使用できるようにします。 ファイル モニカーによって識別されるオブジェクトは、ファイル モニカーがバインドされたときに読み込むことができるように 、IPersistFile インターフェイスも実装する必要があります。
ファイル ベースのドキュメントへのリンクのみを完全にサポートする OLE サーバー アプリケーションのように、各オブジェクトが独自のファイルに存在する場合、ファイル モニカーのみが必要なモニカーの種類です。 ファイルより小さいオブジェクトを識別するには、モニカー プロバイダーは、ファイル モニカーに加えて別の種類のモニカー (アイテム モニカーなど) を使用して、複合モニカーを作成する必要があります。 複合モニカーは、ドキュメントよりも小さいオブジェクト (ドキュメントのセクションや埋め込みオブジェクトなど) へのリンクをサポートする OLE サーバー アプリケーションで必要になります。
ファイル モニカーは、最初のモニカーが絶対パスに基づいており、もう一方が相対パスである場合に、別のファイル モニカーの右側にのみ構成でき、その結果、2 つのパスの組み合わせに基づいて 1 つのファイル モニカーが生成されます。 別のモニカーの右側に構成されるモニカーは、そのモニカーの洗練である必要があり、ファイル モニカーは最大のストレージユニットを表します。 ファイル内に格納されているオブジェクトを識別するには、ファイル モニカーの右側に他の種類のモニカー (通常はアイテム モニカー) を作成します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | objbase.h |
Library | Ole32.lib |
[DLL] | Ole32.dll |
API セット | ext-ms-win-com-ole32-l1-1-4 (Windows 10 バージョン 10.0.14393 で導入) |