Поделиться через


IWorkerThreadClient::Execute

Используйте этот метод, чтобы выполнить код, если маркер, связанный с этим объектом является сигнальным.

HRESULT Execute( 
   DWORD_PTR dwParam, 
   HANDLE hObject  
);

Параметры

  • dwParam
    Параметр пользователя.

  • hObject
    Маркер, который был сигнальным.

Возвращаемое значение

Возвращает значение S_ОК в случае успеха или ошибки HRESULT в случае сбоя.

Заметки

Дескриптор и DWORD/Pointer, передаваемые этому методу, ранее была сопоставлена с этим объектом вызова CWorkerThread::AddHandle.

Пример

В следующем коде показана простая реализация 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;
}

Требования

Header: atlutil.h

См. также

Ссылки

IWorkerThreadClient Interface

CWorkerThread::AddHandle