次の方法で共有


インターネット上の非同期モニカー

インターネットでは、ネットワーク アクセスが遅いため、アプリケーションの設計に新しいアプローチが必要です。 アプリケーションは、ユーザー インターフェイスのストールを回避するために、ネットワーク アクセスを非同期的に実行する必要があります。 MFC クラス CAsyncMonikerFile は、 ファイルをダウンロードするための非同期サポートを提供します。

非同期モニカーを使用すると、COM アプリケーションを拡張してインターネット経由で非同期的にダウンロードし、ビットマップや VRML オブジェクトなどの大きなオブジェクトを段階的にレンダリングできます。 非同期モニカーを使用すると、ActiveX コントロール プロパティまたはインターネット上のファイルを、ユーザー インターフェイスの応答をブロックせずにダウンロードできます。

非同期モニカーの利点

非同期モニカーを使用すると、次のことができます。

  • ブロックせずにコードとファイルをダウンロードします。

  • ブロックせずに ActiveX コントロールのプロパティをダウンロードします。

  • ダウンロードの進行状況の通知を受け取ります。

  • 進行状況と準備完了状態情報を追跡します。

  • 進行状況に関する状態情報をユーザーに提供します。

  • ユーザーがいつでもダウンロードを取り消せるようにします。

非同期モニカーの MFC クラス

CAsyncMonikerFileCMonikerFile から派生し、 COleStreamFile から派生します。 COleStreamFile オブジェクトはデータストリームを表します。CMonikerFile オブジェクトはIMonikerを使用してデータを取得し、CAsyncMonikerFile オブジェクトは非同期的に取得します。

非同期モニカーは、主にインターネット対応アプリケーションと ActiveX コントロールで使用され、ファイル転送中に応答性の高いユーザー インターフェイスを提供します。 この主な例は、 CDataPathProperty を使用して ActiveX コントロールの非同期プロパティを提供することです。

ActiveX コントロールのデータ パスの MFC クラス

MFC クラス CDataPathPropertyCCachedDataPathProperty は、非同期に読み込むことができる ActiveX コントロール プロパティを実装します。 非同期プロパティは、同期開始後に読み込まれます。 非同期 ActiveX コントロールは、長いプロパティ交換プロセス中に新しいデータの可用性を示すコールバックを繰り返し呼び出します。

CDataPathProperty は、CAsyncMonikerFile から派生しています。 CCachedDataPathProperty は、CDataPathProperty から派生しています。 ActiveX コントロールに非同期プロパティを実装するには、 CDataPathProperty または CCachedDataPathPropertyからクラスを派生させ、 OnDataAvailable やその他の通知をオーバーライドします。

非同期モニカーを使用してファイルをダウンロードするには

  1. CAsyncMonikerFile から派生したクラスを宣言します。

  2. OnDataAvailable をオーバーライドしてデータを表示します。

  3. OnProgressOnStartBindingOnStopBinding など、他のメンバー関数をオーバーライドします。

  4. このクラスのインスタンスを宣言し、それを使用して URL を開きます。

ActiveX コントロールで非同期的にダウンロードする方法については、「 インターネット上の ActiveX コントロール」を参照してください。

こちらも参照ください

MFC インターネット プログラミング タスク
MFC インターネット プログラミングの基本