Almacenamiento asincrónico y sincrónico
Los monikers asincrónicos también pueden devolver un objeto de almacenamiento asincrónico en la notificación IBindStatusCallback::OnDataAvailable . Este objeto de almacenamiento puede permitir el acceso a algunos de los datos persistentes del objeto mientras el enlace sigue en curso. Un cliente puede elegir entre dos modos para el almacenamiento: bloqueo y no bloqueo.
En el modo de bloqueo, que es compatible con las implementaciones actuales de objetos de almacenamiento, si los datos no están disponibles, la llamada se bloquea hasta que llegan los datos. En el modo de no bloqueo, en lugar de bloquear la llamada, el objeto de almacenamiento devuelve un nuevo error E_PENDING cuando los datos no están disponibles. Un cliente que tenga en cuenta el enlace asincrónico y el almacenamiento anota este error y espera a que se vuelvan a intentar la operación las notificaciones adicionales (OnDataAvailable). Un cliente puede elegir entre un almacenamiento sincrónico (de bloqueo) y asincrónico (sin bloqueo) si elige si desea establecer la marca de BINDF_ASYNCSTORAGE en el valor grfBINDF devuelto a IBindStatusCallback::GetBindInfo.
Temas relacionados