About Structured Storage非同期構造化ストレージについて

非同期ストレージ

非同期ストレージ(Asynchronous storage)は、インターネットのような長時間の待機を強要される貧弱な接続であるネットワーク上でのストレージオブジェクトの非同期ダウンロードをサポートする事で、COM 構造化ストレージ仕様を強化します。 非同期ストレージは、既存のインターネットプロトコルによってアクセスされたコンテントである複合ファイルを使用するアプリケーション(新旧を問わず)に適用可能です。 World Wide Web サーバに対して、Web ページ内に内包されネストされたオブジェクトのダウンロード要求のリクエストは、各オブジェクトのリクエスト要求を別々に処理することによって行われます。 非同期でのダウンロードやアクセス機構のあるアプリケーションでは、 すべてのデータを受信する前に、最初のページデータを表示することが可能です。 利用可能となるページ要素に対しての正確な要求は、Web 製作者によって詳細に設定する事ができ、ネットワークの形態やサーバ能力などのさまざまな影響を受けることなく行うことができます。

非同期ストレージは、完全な非同期の構築されたビヘイビアによって提供される非同期モニカ と同時に動作します。 非同期モニカについてのより詳しい情報は、MicrosoftActiveX software development kit を参照して下さい。 プロトコル特有の非同期モニカは、バインディング処理や、必須のコンポーネントのセットアップを引き起こし(trigger)します。 インターネットでの場合、このモニカは、オブジェクトまたはストレージを結び付けるための URL を解析することのできるものとなるでしょう。 バインディング処理のターゲットが持続性のオブジェクトである場合、IMoniker::BindToStorage() の呼び出しで、非同期ストレージオブジェクトを返します。

注意: Microsoft の現在の URL モニカのバージョンは、非同期ストレージをサポートしていません。 将来のバージョンにてサポートされる予定です。

非同期モニカクライアントは、コールバックオブジェクトやバインドコンテクストを登録することを、バインドステータスの実行によって非同期バインドを要求します。 このバインドステータスのコールバックオブジェクトは、 IBindStatusCallback インタフェースを公開し、これによってクライアントはバインディング対象の優先権を主張することができ、バインディングオペレーション中の経過情報やグローバルデータの有効性の通知を受け取る事ができます。 この非同期複合ファイルは、IProgressNotify のコネクションポイント供給に含まれており、このコネクションポイントによって受け取った個々のストリーム上の詳細な有効性の通知を、クライアントは使用することができます。