Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
IWorkerThreadClient adalah antarmuka yang diimplementasikan oleh klien kelas CWorkerThread .
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
__interface IWorkerThreadClient
Anggota
Metode
| Nama | Deskripsi |
|---|---|
| CloseHandle | Terapkan metode ini untuk menutup handel yang terkait dengan objek ini. |
| Menjalankan | Terapkan metode ini untuk menjalankan kode ketika handel yang terkait dengan objek ini menjadi sinyal. |
Keterangan
Terapkan antarmuka ini ketika Anda memiliki kode yang perlu dijalankan pada utas pekerja sebagai respons terhadap handel yang menjadi sinyal.
Persyaratan
Header: atlutil.h
IWorkerThreadClient::CloseHandle
Terapkan metode ini untuk menutup handel yang terkait dengan objek ini.
HRESULT CloseHandle(HANDLE hHandle);
Parameter
hHandle
Handel yang akan ditutup.
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, atau kesalahan HRESULT pada kegagalan.
Keterangan
Handel yang diteruskan ke metode ini sebelumnya dikaitkan dengan objek ini dengan panggilan ke CWorkerThread::AddHandle.
Contoh
Kode berikut menunjukkan implementasi sederhana dari IWorkerThreadClient::CloseHandle.
HRESULT CloseHandle(HANDLE hObject)
{
// Users should do any shutdown operation required here.
// Generally, this means just closing the handle.
if (!::CloseHandle(hObject))
{
// Closing the handle failed for some reason.
return AtlHresultFromLastError();
}
return S_OK;
}
IWorkerThreadClient::Execute
Terapkan metode ini untuk menjalankan kode ketika handel yang terkait dengan objek ini menjadi sinyal.
HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject);
Parameter
dwParam
Parameter pengguna.
hObject
Pegangan yang telah menjadi sinyal.
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, atau kesalahan HRESULT pada kegagalan.
Keterangan
Handel dan DWORD/pointer yang diteruskan ke metode ini sebelumnya dikaitkan dengan objek ini dengan panggilan ke CWorkerThread::AddHandle.
Contoh
Kode berikut menunjukkan implementasi sederhana dari IWorkerThreadClient::Execute.
HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject)
{
// Cast the parameter to its known type.
LONG* pn = reinterpret_cast<LONG*>(dwParam);
// Increment the LONG.
LONG n = InterlockedIncrement(pn);
// Log the results.
printf_s("Handle 0x%08X incremented value to : %d\n", (DWORD_PTR)hObject, n);
return S_OK;
}