CoCancelCall 関数 (combaseapi.h)
指定したスレッドで保留中の送信 DCOM メソッド呼び出しの取り消しを要求します。
構文
HRESULT CoCancelCall(
[in] DWORD dwThreadId,
[in] ULONG ulTimeout
);
パラメーター
[in] dwThreadId
保留中の DCOM 呼び出しを取り消すスレッドの識別子。 このパラメーターが 0 の場合、呼び出しは現在のスレッド上にあります。
[in] ulTimeout
クライアントが取り消しを要求した後、サーバーが送信呼び出しを完了するまで CoCancelCall が待機する秒数。
戻り値
この関数は、E_FAIL、E_OUTOFMEMORY、E_UNEXPECTEDの標準戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
キャンセル要求が行われました。 |
|
指定したスレッドに対応する cancel オブジェクトはありません。 |
|
呼び出しの取り消しは、指定されたスレッドでは有効になっていません。 |
|
タイムアウト間隔中に呼び出しが完了しました。 |
|
呼び出しは既に取り消されています。 |
解説
CoCancelCall は 、実行中の呼び出しのキャンセル オブジェクトで CoGetCancelObject を呼び出し 、次に ICancelMethodCalls::Cancel を呼び出します。
この関数では、非同期呼び出しのキャンセル オブジェクトは見つかりません。
オブジェクト サーバーは、 CoTestCancel を定期的に呼び出すことによって、呼び出しが取り消されたかどうかを判断できます。 呼び出しが取り消された場合、オブジェクト サーバーはクリーンし、制御をクライアントに返す必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |