Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
IWorkerThreadClient, CWorkerThread sınıfının istemcileri tarafından uygulanan arabirimdir.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
__interface IWorkerThreadClient
Üyeler
Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CloseHandle | Bu nesneyle ilişkili tanıtıcıyı kapatmak için bu yöntemi uygulayın. |
| Execute | Bu nesneyle ilişkili tanıtıcı işaretlendiğinde kodu yürütmek için bu yöntemi uygulayın. |
Açıklamalar
Bir tanıtıcının sinyal almasına yanıt olarak çalışan iş parçacığında yürütülmesi gereken kodunuz olduğunda bu arabirimi uygulayın.
Gereksinimler
Üst bilgi: atlutil.h
IWorkerThreadClient::CloseHandle
Bu nesneyle ilişkili tanıtıcıyı kapatmak için bu yöntemi uygulayın.
HRESULT CloseHandle(HANDLE hHandle);
Parametreler
hHandle
Kapatılacak tanıtıcı.
Dönüş Değeri
Başarı durumunda S_OK veya hatada HRESULT hatası döndür.
Açıklamalar
Bu yönteme geçirilen tanıtıcı daha önce CWorkerThread::AddHandle çağrısıyla bu nesneyle ilişkilendirildi.
Örnek
Aşağıdaki kod basit bir uygulamasını IWorkerThreadClient::CloseHandlegösterir.
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
Bu nesneyle ilişkili tanıtıcı işaretlendiğinde kodu yürütmek için bu yöntemi uygulayın.
HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject);
Parametreler
dwParam
Kullanıcı parametresi.
hObject
İşaretlenen tanıtıcı.
Dönüş Değeri
Başarı durumunda S_OK veya hatada HRESULT hatası döndür.
Açıklamalar
Bu yönteme geçirilen tanıtıcı ve DWORD/işaretçisi daha önce CWorkerThread::AddHandle çağrısıyla bu nesneyle ilişkilendirildi.
Örnek
Aşağıdaki kod basit bir uygulamasını IWorkerThreadClient::Executegösterir.
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;
}