標準の同期 OLE モニカーのクライアントは、通常、モニカーへの参照と、バインド中に使用されるバインド コンテキストを作成して保持します。 従来のモニカーの使用に関連するコンポーネントを次の図に示します。
通常、クライアントは、CreateFileMoniker、CreateItemMoniker、または CreatePointerMonikerなどの関数を呼び出すことによって、標準モニカーを作成します。または、OleSaveToStreamと OleLoadFromStreamを使用して永続的ストレージに保存できるためです。 また、IBindHost::CreateMoniker メソッドを呼び出すことによって、コンテナー オブジェクトからモニカーを取得することもできます。 クライアントは、CreateBindCtx 関数を呼び出してバインド コンテキストを作成し、IMoniker::BindToStorage または IMoniker::BindToObjectを呼び出して、バインド コンテキストをモニカーに渡します。
次の図に示すように、非同期モニカーのクライアントは、バインディング中に使用されるモニカーとバインド コンテキストへの参照も作成して保持します。
非同期動作を取得するために、クライアントはバインド状態コールバック オブジェクトに IBindStatusCallback インターフェイスを実装し、RegisterBindStatusCallback 関数または CreateAsyncBindCtx 関数を呼び出して、このインターフェイスをバインド コンテキストに登録します。 モニカーは、IBindStatusCallback::OnStartBinding メソッドの呼び出しで、IBinding インターフェイスへのポインターを渡します。 クライアントは、IBindStatusCallback::GetBindInfo メソッドへのモニカーの呼び出しからのリターン時にバインドする方法を非同期モニカーに指示します。
関連トピック
-
非同期モニカー の