Delen via


IWorkerThreadClient Interface

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

IWorkerThreadClient is de interface die wordt geïmplementeerd door clients van de CWorkerThread-klasse .

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

__interface IWorkerThreadClient

Leden

Methods

Naam Description
CloseHandle Implementeer deze methode om de ingang te sluiten die aan dit object is gekoppeld.
Executeren Implementeer deze methode om code uit te voeren wanneer de greep die aan dit object is gekoppeld, wordt gesignaleerd.

Opmerkingen

Implementeer deze interface wanneer u code hebt die moet worden uitgevoerd op een werkrolthread als reactie op een ingang die wordt gesignaleerd.

Requirements

Header: atlutil.h

IWorkerThreadClient::CloseHandle

Implementeer deze methode om de ingang te sluiten die aan dit object is gekoppeld.

HRESULT CloseHandle(HANDLE  hHandle);

Parameterwaarden

hHandle
De handgreep die moet worden gesloten.

Retourwaarde

Retourneer S_OK over geslaagd of een fout HRESULT bij een fout.

Opmerkingen

De handle die aan deze methode is doorgegeven, is eerder gekoppeld aan dit object door een aanroep naar CWorkerThread::AddHandle.

Example

De volgende code toont een eenvoudige implementatie van 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

Implementeer deze methode om code uit te voeren wanneer de greep die aan dit object is gekoppeld, wordt gesignaleerd.

HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject);

Parameterwaarden

dwParam
De gebruikersparameter.

hObject
De greep die is gesignaleerd.

Retourwaarde

Retourneer S_OK over geslaagd of een fout HRESULT bij een fout.

Opmerkingen

De handle en DWORD/pointer die aan deze methode zijn doorgegeven, zijn eerder gekoppeld aan dit object door een aanroep naar CWorkerThread::AddHandle.

Example

De volgende code toont een eenvoudige implementatie van 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;
}

Zie ook

Klassen
CWorkerThread-klasse