MonikerCommonPrefixWith 関数 (objbase.h)

このモニカー (このモニカー オブジェクトのデータを構成するもの) が別のモニカーと共有する共通プレフィックスに基づいて、新しいモニカーを作成します。

この関数は、 IMoniker::CommonPrefixWith の実装でのみ呼び出すことを目的としています。

構文

HRESULT MonikerCommonPrefixWith(
  [in]  LPMONIKER pmkThis,
  [in]  LPMONIKER pmkOther,
  [out] LPMONIKER *ppmkCommon
);

パラメーター

[in] pmkThis

共通プレフィックスが求められるモニカーの 1 つで IMoniker インターフェイスへのポインター。通常、この呼び出しを使用して IMoniker::CommonPrefixWith を実装するモニカー。

[in] pmkOther

最初のモニカーと比較するモニカー上の IMoniker インターフェイスへのポインター。

[out] ppmkCommon

pmkThispmkOther の共通プレフィックスに基づいてモニカーへのインターフェイス ポインターを受け取る IMoniker* ポインター変数のアドレス。 成功すると、関数はモニカーで AddRef を呼び出し、呼び出し元は Release の呼び出しを担当します。 エラーが発生した場合、指定されたインターフェイス ポインター値は NULL です

戻り値

この関数は、E_OUTOFMEMORYおよびE_UNEXPECTED標準の戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
pmkThis も pmkOther でもない共通のプレフィックスが存在します
MK_S_HIM
pmkOther モニカー全体は、pmkThis モニカーのプレフィックスです。
MK_S_ME
pmk 全体このモニカーは、pmkOther モニカーのプレフィックスです。
MK_S_US
pmkThispmkその他のモニカーは等しくなります。
MK_E_NOPREFIX
モニカーには共通のプレフィックスがありません。
MK_E_NOTBINDABLE
この関数は、相対モニカーで呼び出されました。 相対モニカーの共通プレフィックスを使用することは意味がありません。

注釈

IMoniker::CommonPrefixWith の実装では、最初に、他のモニカーが特別な方法で認識して処理する型であるかどうかをチェックする必要があります。 そうでない場合は、 MonikerCommonPrefixWith を呼び出し、それ自体を pmkThis として渡し、もう一方のモニカーを pmkOther として渡す必要があります。 MonikerCommonPrefixWith は 、いずれかのモニカーがジェネリック 複合である場合を正しく処理します。

pmkThispmkOther の両方が絶対モニカーである場合にのみ、この関数を呼び出す必要があります (絶対モニカーは、ファイル モニカーまたは一番左のコンポーネントがファイル モニカーであり、ファイル モニカーが絶対パスを表す汎用複合です)。 相対モニカーでは、この関数を呼び出さないでください。

要件

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

こちらもご覧ください

IMoniker::CommonPrefixWith