Antarmuka IFileOperationProgressSink (shobjidl_core.h)
Mengekspos metode yang menyediakan sistem pemberitahuan kaya yang digunakan oleh penelepon IFileOperation untuk memantau detail operasi yang mereka lakukan melalui antarmuka tersebut.
Warisan
Antarmuka IFileOperationProgressSink mewarisi dari antarmuka IUnknown . IFileOperationProgressSink juga memiliki jenis anggota ini:
Metode
Antarmuka IFileOperationProgressSink memiliki metode ini.
IFileOperationProgressSink::FinishOperations Melakukan tindakan yang diterapkan penelepon setelah operasi terakhir yang dilakukan oleh panggilan ke IFileOperation selesai. |
IFileOperationProgressSink::P auseTimer Tidak didukung. (IFileOperationProgressSink.PauseTimer) |
IFileOperationProgressSink::P ostCopyItem Melakukan tindakan yang diterapkan penelepon setelah proses penyalinan untuk setiap item selesai. |
IFileOperationProgressSink::P ostDeleteItem Melakukan tindakan yang diterapkan penelepon setelah proses penghapusan untuk setiap item selesai. |
IFileOperationProgressSink::P ostMoveItem Melakukan tindakan yang diterapkan penelepon setelah proses pemindahan untuk setiap item selesai. |
IFileOperationProgressSink::P ostNewItem Melakukan tindakan yang diterapkan penelepon setelah item baru dibuat. |
IFileOperationProgressSink::P ostRenameItem Melakukan tindakan yang diterapkan penelepon setelah proses penggantian nama untuk setiap item selesai. |
IFileOperationProgressSink::P reCopyItem Melakukan tindakan yang diterapkan penelepon sebelum proses penyalinan untuk setiap item dimulai. |
IFileOperationProgressSink::P reDeleteItem Melakukan tindakan yang diterapkan penelepon sebelum proses penghapusan untuk setiap item dimulai. |
IFileOperationProgressSink::P reMoveItem Melakukan tindakan yang diterapkan penelepon sebelum proses pemindahan untuk setiap item dimulai. |
IFileOperationProgressSink::P reNewItem Melakukan tindakan yang diterapkan penelepon sebelum proses untuk membuat item baru dimulai. |
IFileOperationProgressSink::P reRenameItem Melakukan tindakan yang diterapkan penelepon sebelum proses penggantian nama untuk setiap item dimulai. |
IFileOperationProgressSink::ResetTimer Tidak didukung. (IFileOperationProgressSink.ResetTimer) |
IFileOperationProgressSink::ResumeTimer Tidak didukung. (IFileOperationProgressSink.ResumeTimer) |
IFileOperationProgressSink::StartOperations Melakukan tindakan yang diterapkan penelepon sebelum operasi file tertentu dilakukan. |
IFileOperationProgressSink::UpdateProgress Memberikan perkiraan jumlah total pekerjaan yang saat ini dilakukan sehubungan dengan jumlah total pekerjaan. |
Keterangan
Kapan Harus Menerapkan
Aplikasi harus menerapkan IFileOperationProgressSink sendiri. Windows tidak menyediakan implementasi default.Kapan Harus Digunakan
IFileOperationProgressSink pada dasarnya adalah penangan untuk peristiwa tertentu. Mereka digunakan biasanya untuk menampilkan informasi tentang tindakan tertentu yang sedang diproses pada saat itu, seperti nama file, sumber, dan tujuan, dan nama baru item di tujuan. Metode pasca menerima HRESULT dari setiap bagian operasi sehingga pemanggil dapat menentukan secara khusus di mana proses gagal jika terjadi. Nilai parameter metode IFileOperation diteruskan ke metode IFileOperationProgressSink yang sesuai sehingga mereka memiliki akses ke informasi yang sama.Untuk melampirkan implementasi IFileOperationProgressSink ke panggilan ke IFileOperation, Anda memiliki dua opsi:
- Untuk diberi tahu tentang semua operasi yang dilakukan oleh panggilan ke IFileOperation, gunakan metode IFileOperation::Advise .
- Untuk diberi tahu hanya tentang kemajuan untuk operasi tertentu, berikan IFileOperationProgressSink ke satu atau beberapa metode IFileOperation individual ini:
Jika Anda memilih untuk meneruskan IFileOperationProgressSink hanya untuk memilih metode, instans IFileOperationProgressSink yang sama dapat digunakan untuk semuanya.
Contoh
Contoh berikut meneruskan IFileOperationProgressSink ke instans IFileOperation dengan memanggil metode Advise .IFileOperation *pfo;
CoCreateInstance(CLSID_FileOperation, NULL, CLSCTX_ALL, IID_IFileOperation, (void **)&m_pFO)
HRESULT hr = SHCreateFileOperation(hwnd, 0, IID_PPV_ARGS(&pfo));
if (SUCCEEDED(hr))
{
// Advise to get notifications
DWORD dwCookie;
hr = pfo->Advise(SAFECAST(this, IFileOperationProgressSink*), &dwCookie);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |