Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Archivos compuestos asincrónicos, la implementación proporcionada por el sistema del almacenamiento asincrónico, permite la descarga eficaz de archivos compuestos de Internet en general y web en particular. La arquitectura básica de archivos compuestos asincrónicos se muestra en el diagrama siguiente.
La implementación de archivos compuestos asincrónicos puede funcionar con nuevos tipos de moniker asincrónicos que comprendan los protocolos de Internet y puedan enlazarse a un objeto identificado por una dirección URL. Este moniker devolvería un puntero IStream o IStorage asincrónico desde la llamada del cliente a IMoniker::BindToStorage.
Los archivos compuestos en general se implementan sobre un objeto de matriz de bytes, una abstracción de un archivo que representa los datos de un objeto como una matriz de bytes plana. El objeto de matriz de bytes expone su funcionalidad a través de la interfaz ILockBytes . Si una matriz de bytes admite el almacenamiento asincrónico que no bloquea, devuelve E_PENDING a la implementación de archivos compuestos, que a su vez propaga el error al autor de la llamada.
Para realizar un seguimiento de los datos disponibles durante una descarga, una matriz de bytes que admite almacenamiento asincrónico expone la interfaz IFillLockBytes en un objeto contenedor proporcionado por el sistema específicamente para este fin. El código de descarga proporcionado por un moniker asincrónico llama a esta interfaz para rellenar la matriz de bytes de forma asincrónica, ya que los datos están disponibles. El objeto contenedor también expone una interfaz ILockBytes , que la implementación de archivos compuestos asincrónicos usa para leer y escribir datos de y en la matriz.
Los objetos de secuencia y almacenamiento asincrónicos proporcionan un punto de conexión para la interfaz IProgressNotify , que se implementa mediante el código de descarga del moniker asincrónico. La implementación de archivos compuestos asincrónicos llama a IProgressNotify para proporcionar al descargador información sobre el estado de la operación de descarga.