Freigeben über


IWorkerThreadClient::Execute

Implementieren Sie diese Methode, um Code auszuführen, wenn das Handle, das diesem Objekt zugeordnet ist, signalisiert wird.

HRESULT Execute( 
   DWORD_PTR dwParam, 
   HANDLE hObject  
);

Parameter

  • dwParam
    Der Benutzerparameter.

  • hObject
    Das Handle, das signalisiert wurde.

Rückgabewert

Gibt bei Erfolg S_OK zurück oder bei Fehler ein Fehler-HRESULT.

Hinweise

Das Handle und die DWORD/pointer, die an diese Methode übergeben wurden, wurden vorher mit diesem Objekt durch einen Aufruf CWorkerThread::AddHandle zugeordnet.

Beispiel

Im folgenden Code wird eine einfache Implementierung von IWorkerThreadClient::Execute an.

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

Anforderungen

Header: atlutil.h

Siehe auch

Referenz

IWorkerThreadClient Interface

CWorkerThread::AddHandle