Bagikan melalui


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:

Jika Anda memanggil Advise tidak perlu meneruskan IFileOperationProgressSink ke metode IFileOperation tertentu karena menghasilkan panggilan redundan ke metode IFileOperationProgressSink dan pemberitahuan duplikat.

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)

Lihat juga

IFileOperation