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