IWorkerThreadClient::Execute
更新 : 2007 年 11 月
オブジェクトに関連付けられたハンドルがシグナル状態になるときに、コードを実行します。
HRESULT Execute(
DWORD_PTR dwParam,
HANDLE hObject
);
パラメータ
dwParam
ユーザー パラメータ。hObject
シグナル状態になったハンドル。
戻り値
正常に終了した場合は S_OK を返します。それ以外の場合はエラーの HRESULT を返します。
解説
このメソッドに渡されるハンドルと DWORD 型へのポインタは、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;
}
必要条件
ヘッダー : atlutil.h