Aracılığıyla paylaş


IWorkerThreadClient Sınıfı

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;
}

Ayrıca bkz.

Sınıflar
CWorkerThread Sınıfı