Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
File composti asincroni, l'implementazione fornita dal sistema di archiviazione asincrona, consente in particolare il download efficiente di file composti da Internet e dal Web. L'architettura di base dei file composti asincroni è illustrata nel diagramma seguente.
L'implementazione di File composti asincroni può funzionare con nuovi tipi di moniker asincroni che conoscono i protocolli Internet e possono essere associati a un oggetto identificato da un URL. Tale moniker restituirà un puntatore IStream o IStorage dalla chiamata del client a IMoniker::BindToStorage.
I file composti in generale vengono implementati sopra un oggetto matrice di byte, un'astrazione di un file che rappresenta i dati di un oggetto come matrice di byte flat. L'oggetto matrice di byte espone la relativa funzionalità tramite l'interfaccia ILockBytes. Se una matrice di byte supporta l'archiviazione asincrona non bloccante, restituisce E_PENDING all'implementazione del file composto, che a sua volta propaga l'errore al chiamante.
Per tenere traccia dei dati disponibili durante un download, una matrice di byte che supporta l'archiviazione asincrona espone l'interfaccia IFillLockBytes su un oggetto wrapper fornito dal sistema specificamente a questo scopo. Il codice di download fornito da un moniker asincrono chiama questa interfaccia per riempire la matrice di byte in modo asincrono, perché i dati sono disponibili. L'oggetto wrapper espone anche un'interfaccia ILockBytes, usata dall'implementazione di File composti asincroni per leggere e scrivere dati da e nella matrice.
Gli oggetti di archiviazione e flusso asincroni forniscono un punto di connessione per l'interfaccia IProgressNotify, implementata dal codice di download del moniker asincrono. L'implementazione di File composti asincroni chiama IProgressNotify per fornire al downloader informazioni sullo stato dell'operazione di download.