プロセスのマネージ コードを実行しているすべてのスレッドで協調停止を実行します。
HRESULT Stop (
[in] DWORD dwTimeoutIgnored
);
パラメーター
- dwTimeoutIgnored
使用しません。
解説
Stop は、プロセスのマネージ コードを実行しているすべてのスレッドで協調停止を実行します。 マネージのみのデバッグ セッションを実行しているときに、アンマネージ スレッドの実行が続行されることがあります (ただし、マネージ コードを呼び出そうとするとブロックされます)。 相互運用機能デバッグ セッションを実行しているときは、アンマネージ スレッドも停止されます。 dwTimeoutIgnored 値は現在無視され、INFINTE (-1) として処理されます。 デッドロックが原因で協調停止に失敗すると、すべてのスレッドが中断され、E_TIMEOUT が返されます。
![]() |
---|
デバッグ API では、 Stop だけが同期メソッドです。Stop から S_OK が返されると、プロセスが停止します。リスナーに停止を通知するためのコールバックは指定されません。プロセスを再開できるようにするには、デバッガーが ICorDebugController::Continue を呼び出す必要があります。 |
デバッガーは、停止カウンターを保持します。 カウンターが 0 になると、コントローラーが再開されます。 Stop の呼び出しまたはディスパッチされたコールバックを行うたびに、カウンターが増加します。 ICorDebugController::Continue を呼び出すたびにカウンターが減少します。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0