次の方法で共有


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

参照

参照

IWorkerThreadClient インターフェイス

CWorkerThread::AddHandle

その他の技術情報

IWorkerThreadClient のメンバ