コールバック同期
非同期 WinInet API (最も一般的なプロトコルで使用) は、コールバック メカニズムと呼び出し元アプリケーションの同期をクライアントの演習として残します。 これは、最大限の柔軟性を可能にするため、意図的です。 既定のプロトコルと URL モニカーの実装では、この同期が実行され、シングルスレッドアプリケーションとアパートメントスレッドアプリケーションがフリースレッドスタイルの競合に対処する必要がないことを保証します。 つまり、クライアントの IEnumFORMATETC および IBindStatusCallbackインターフェイスは、適切なスレッドでのみ呼び出されます。 この機能は、IMoniker::BindToStorageを呼び出し、IMoniker::BindToObjectを呼び出す各スレッドにメッセージ キューがある限り、URL mMoniker のユーザーには透過的です。
非同期モニカー仕様では、WinSock または WinInet で許可されているよりも、ダウンロードの優先順位付けと管理をより正確に制御する必要があります。 したがって、URL モニカーは、特定の呼び出し元のスレッドのすべてのダウンロードを管理し、IBinding 仕様に基づいて優先順位スキームを使用します (同期の一部として)。
関連トピック