Partager 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 pendant que la liaison est toujours en cours. Un client peut choisir entre deux modes pour le stockage : blocage et non blocage.

En mode bloquant, compatible avec les implémentations actuelles des objets de stockage, si les données ne sont pas disponibles, les appels se bloquent jusqu’à ce que les données arrivent. En mode non bloquant, au lieu 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 asynchrone et du stockage 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 l’indicateur de BINDF_ASYNCSTORAGE dans l'valeur grfBINDF retournée à IBindStatusCallback ::GetBindInfo.

monikers asynchrones