異步複合檔案

異步複合檔案,系統提供的異步儲存實作,可讓您有效率地從因特網下載複合檔,特別是Web。 下圖顯示異步複合檔的基本架構。

異步複合檔案基本架構

異步複合文件實作可以使用新的異步Moniker類型,瞭解因特網通訊協定,並可系結至URL所識別的物件。 這類Moniker會從用戶端呼叫 IMoniker::BindToStorage傳回異步 IStreamIStor age 指標。

一般而言,複合檔案會實作在位元組陣列物件之上,這是表示對象數據為一般位元組陣列的檔案抽象概念。 位元組數位物件會透過 ILockBytes介面公開其功能。 如果位元組數位支援非封鎖異步記憶體,它會將E_PENDING傳回復合檔實作,進而將錯誤傳播回呼叫端。

為了在下載期間追蹤可用的數據,支援異步記憶體的位元組陣列會在系統特別針對此目的提供的包裝函式對象上公開 IFillLockBytes 介面。 異步 Moniker 所提供的下載程式代碼會呼叫這個介面,以異步方式填入位元組陣列,因為數據可供使用。 包裝函式物件也會公開 ILockBytes 介面,而異步複合檔實作會用來讀取和寫入數位中的數據。

異步儲存和串流物件提供 IProgressNotify介面連接點,這個介面是由異步 Moniker 的下載程式代碼所實作。 異步複合文件實作會呼叫 IProgressNotify,以提供下載程式與下載作業狀態的相關信息。