URL モニカー
OLE モニカー アーキテクチャは、URL を操作するための便利なプログラミング モデルを提供します。 モニカー アーキテクチャでは、MkParseDisplayName 関数と IParseDisplayNameIMonikerインターフェイスとIMoniker::GetDisplayNameメソッドを使用した印刷可能な名前による拡張可能で完全な名前の解析がサポートされています。 IMoniker インターフェイス は実際に URL を使用する方法であり、モニカー アーキテクチャに適合するコンポーネントを構築することは、実際に URL 名前空間を実際に拡張する方法です。
システム提供のモニカー クラスである URL モニカーは、特定の URL を構築して使用するためのフレームワークを提供します。 URL では待機時間の長いネットワーク間でリソースが頻繁に表示されるため、URL モニカーは非同期バインディングと同期バインディングをサポートします。 URL モニカーは現在、非同期ストレージ サポートしていません。
次の図は、URL モニカーの使用に関連するコンポーネントを示しています。 これらのコンポーネントはすべて使い慣れているはずです。 (非同期モニカー を参照してください)。
すべてのモニカー クライアントと同様に、URL モニカーのユーザーは、通常、モニカーへの参照と、バインド中に使用されるバインド コンテキストへの参照を作成して保持します (IMoniker::BindToStorage または IMoniker::BindToObject)。 非同期バインディングをサポートするために、クライアントは、IBindStatusCallback インターフェイスを実装する bind-status-callback オブジェクトを実装し、RegisterBindStatusCallback 関数を使用してバインド コンテキストに登録できます。 このオブジェクトは、IBindStatusCallback::OnStartBindingへの呼び出し中に、トランスポートの IBinding インターフェイス受け取ります。
URL モニカーは、URL プレフィックスを解析して使用されているプロトコルを識別し、トランスポート層から IBinding インターフェイスを取得します。 クライアントは、IBinding を使用して、バインディング操作の一時停止、取り消し、および優先順位付けをサポートします。 また、コールバック オブジェクトは、IBindStatusCallback::OnProgress、IBindStatusCallback::OnDataAvailableを介したデータ可用性通知、およびバインディングの状態に関するその他のさまざまなトランスポート層通知を通じて進行状況通知を受け取ります。 また、URL モニカーまたは特定のトランスポート層は、IBindStatusCallback::QueryInterface を介してクライアントに拡張情報を要求し、クライアントがバインド操作に影響を与えるプロトコル固有の情報を提供することもできます。
詳細については、次のトピックを参照してください。
関連トピック