次の方法で共有


IWorkerThreadClient::Execute

このオブジェクトに関連付けられているハンドルがシグナル状態になるときにコードを実行するには、このメソッドを実装します。

HRESULT Execute(
   DWORD_PTR dwParam,
   HANDLE hObject 
);

パラメーター

  • dwParam
    ユーザーのパラメーター。

  • hObject
    シグナル状態になったハンドル。

戻り値

成功の戻り値 S_OK、またはエラーの 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 インターフェイス

CWorkerThread::AddHandle