Mode Penyimpanan
Penyimpanan asinkron mendukung dua mode penyimpanan: memblokir dan tidak memblokir, yang dapat ditentukan klien (baik browser atau objek itu sendiri) dengan mengembalikan BINDF_ASYNCSTORAGE dari panggilan moniker ke IBindStatusCallback::GetBindInfo. Jika klien menentukan BINDF_ASYNCSTORAGE, klien menerima pointer ke penyimpanan asinkron yang tidak memblokir. Jika tidak, ia menerima pointer ke penyimpanan asinkron pemblokiran. Bahkan jika klien tidak meminta operasi pengikatan asinkron (dengan tidak mendaftarkan IBindStatusCallback dengan konteks ikat), moniker masih mengembalikan penyimpanan asinkron pemblokiran, memungkinkan pemuatan progresif untuk aplikasi warisan.
Dalam mode nonblocking, penyimpanan asinkron mengembalikan E_PENDING saat data tidak tersedia. Setelah menerima pesan ini, klien menunggu pemberitahuan bahwa data tambahan tersedia sebelum mencoba lagi untuk mengunduhnya.
Dalam mode pemblokiran, alih-alih mengembalikan E_PENDING, penyimpanan asinkron memblokir panggilan hingga data baru tersedia, lalu membuka blokir panggilan dan mengembalikan data baru. Klien harus siap menerima data. Saat utas diblokir, data yang sudah diteruskan ke klien sepenuhnya tersedia untuk pengguna.
Mode pemblokiran diperlukan karena klien tidak menyadari penyimpanan asinkron tidak akan mengenali E_PENDING dan akan mengasumsikan bahwa kesalahan yang tidak dapat dipulihkan telah terjadi. Memblokir penyimpanan asinkron memungkinkan klien yang ada untuk melakukan penyajian progresif.