次の方法で共有


非同期ストレージと同期ストレージ

非同期モニカーは、IBindStatusCallback::OnDataAvailable 通知で、非同期ストレージ オブジェクトを返すこともできます。 このストレージ オブジェクトは、バインディングの進行中にオブジェクトの永続的なデータの一部にアクセスできる場合があります。 クライアントは、ストレージのブロックモードと非ブロッキングモードの 2 つのモードから選択できます。

ストレージ オブジェクトの現在の実装と互換性があるブロッキング モードでは、データが使用できない場合、呼び出しはデータが到着するまでブロックされます。 非ブロッキング モードでは、呼び出しをブロックするのではなく、データが使用できないときに、ストレージ オブジェクトから新しいエラー E_PENDINGが返されます。 非同期バインディングとストレージを認識しているクライアントは、このエラーをメモし、さらに通知 (OnDataAvailable) が操作を再試行するまで待機します。 クライアントは、IBindStatusCallback::GetBindInfoに返される grfBINDF 値にBINDF_ASYNCSTORAGE フラグを設定するかどうかを選択することで、同期 (ブロック) ストレージと非同期 (非ブロッキング) ストレージを選択できます。

非同期モニカー