Share via


Stockage asynchrone et synchrone

Les monikers asynchrones peuvent également retourner un objet De stockage asynchrone dans la notification IBindStatusCallback::OnDataAvailable . Cet objet de stockage peut autoriser l’accès à certaines données persistantes de l’objet tant que la liaison est toujours en cours. Un client peut choisir entre deux modes pour le stockage : blocage et non blocage.

En mode de blocage, qui est compatible avec les implémentations actuelles d’objets de stockage, si les données ne sont pas disponibles, l’appel se bloque jusqu’à ce que les données arrivent. En mode non bloquant, plutôt que de bloquer l’appel, l’objet de stockage retourne une nouvelle erreur E_PENDING lorsque les données ne sont pas disponibles. Un client conscient de la liaison et du stockage asynchrones note cette erreur et attend d’autres notifications (OnDataAvailable) pour réessayer l’opération. Un client peut choisir entre un stockage synchrone (bloquant) et asynchrone (non bloquant) en choisissant de définir ou non l’indicateur BINDF_ASYNCSTORAGE dans la valeur grfBINDF retournée à IBindStatusCallback::GetBindInfo.

Monikers asynchrones