IProgressNotify::Metode OnProgress (objidl.h)
Memberi tahu objek dan aplikasi terdaftar tentang kemajuan operasi pengunduhan.
Sintaks
HRESULT OnProgress(
[in] DWORD dwProgressCurrent,
[in] DWORD dwProgressMaximum,
[in] BOOL fAccurate,
[in] BOOL fOwner
);
Parameter
[in] dwProgressCurrent
Jumlah data yang tersedia.
[in] dwProgressMaximum
Jumlah total data yang akan diunduh.
[in] fAccurate
Menunjukkan akurasi nilai dalam dwProgressCurrent dan dwProgressMaximum. Mereka dapat diandalkan (TRUE) atau tidak dapat diandalkan (FALSE). Nilai FALSE menunjukkan bahwa struktur kontrol untuk menentukan posisi aktual, atau jumlah, data yang belum diunduh tidak tersedia.
[in] fOwner
Menunjukkan apakah panggilan OnProgress ini dapat mengontrol perilaku pemblokiran operasi. Jika TRUE, pemanggil dapat menggunakan nilai pengembalian dari OnProgress untuk memblokir (STG_S_BLOCK), mencoba kembali (STG_S_RETRYNOW), atau memantau (STG_S_MONITORING) operasi. Jika FALSE, nilai pengembalian dari OnProgress tidak berpengaruh pada perilaku pemblokiran.
Nilai kembali
Metode ini dapat mengembalikan nilai pengembalian standar E_FAIL, E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Pemanggil akan segera mencoba kembali operasi. (Nilai ini paling berguna untuk aplikasi yang melakukan pemblokiran dari dalam rutinitas panggilan balik.) |
|
Pemanggil adalah memblokir pengunduhan dan mencoba kembali panggilan sesuai kebutuhan untuk menentukan apakah data tambahan tersedia. Ini adalah perilaku default jika tidak ada sink yang terdaftar pada titik koneksi. |
|
Penerima panggilan balik melepaskan kontrol proses pengunduhan ke salah satu objek atau aplikasi lain yang telah mendaftarkan sink pemberitahuan kemajuan pada aliran yang sama. Ini berguna jika sink pemberitahuan hanya tertarik untuk mengumpulkan statistik. |
|
Data saat ini tidak tersedia. Pemanggil akan mencoba lagi setelah beberapa interval yang diinginkan. Sink pemberitahuan mengembalikan nilai ini jika penyimpanan asinkron akan beroperasi dalam mode nonblocking. |
Keterangan
Sink dapat diwarisi oleh substorase atau sub-aliran penyimpanan tertentu. Jika tidak ada sink yang terdaftar, utas akan memblokir hingga data yang diminta tersedia, atau unduhan dibatalkan oleh pengunduh.
Di mana beberapa objek atau aplikasi telah mendaftarkan sink pemberitahuan kemajuan pada satu aliran, hanya salah satunya yang dapat mengontrol perilaku unduhan. Kepemilikan unduhan masuk ke sink pertama untuk mendaftar dengan penyimpanan atau aliran, atau skink saran apa pun yang mungkin telah diwarisi dari penyimpanan induk (jika penyimpanan dibuat dengan ASYNC_MODE_COMPATIBILITY.)
Salah satu sink dapat melepaskan kontrol ke titik koneksi berikutnya dengan mengembalikan STG_S_MONITORING ke titik koneksi yang membuat penelepon saat ini. Setelah titik koneksi mendapatkan kontrol (melalui penerimaan STG_S_BLOCK atau STG_S_RETRYNOW), semua titik koneksi berikutnya yang memanggil OnProgress akan mengatur fOwner ke FALSE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | objidl.h |