次の方法で共有


IDebugEventCallbacks::SessionStatus メソッド (dbgeng.h)

SessionStatus コールバック メソッドは、デバッガー セッションで変更が発生したときにエンジンによって呼び出されます。

構文

HRESULT SessionStatus(
  [in] ULONG Status
);

パラメーター

[in] Status

デバッガー セッションの新しい状態を指定します。 次の表で使用可能な値について説明します。

説明
DEBUG_SESSION_ACTIVE デバッガー セッションが開始されました。
DEBUG_SESSION_END_SESSION_ACTIVE_TERMINATE セッションは 、endSession にDEBUG_END_ACTIVE_TERMINATEを送信することで終了しました。
DEBUG_SESSION_END_SESSION_ACTIVE_DETACH セッションは 、DEBUG_END_ACTIVE_DETACHを EndSession に送信することで終了しました。
DEBUG_SESSION_END_SESSION_PASSIVE セッションは 、DEBUG_END_PASSIVEを EndSession に送信することで終了しました。
DEBUG_SESSION_END ターゲットは完了まで実行され、セッションが終了しました。
DEBUG_SESSION_REBOOT ターゲット コンピューターが再起動され、セッションが終了しました。
DEBUG_SESSION_HIBERNATE ターゲット コンピューターが休止状態になり、セッションが終了しました。
DEBUG_SESSION_FAILURE エンジンがセッションを続行できませんでした。

戻り値

このメソッドの戻り値は、エンジンによって無視されます。

注釈

このメソッドは、 IDebugEventCallbacks::GetInterestMask によって返されるマスクにDEBUG_EVENT_SESSION_STATUS フラグが設定されている場合にのみ、エンジンによって呼び出されます。

エンジンは、セッション状態の変更に関するすべてのイベント コールバックに通知した後、DebugExtensionNotify コールバック メソッドをエクスポートする読み込まれた拡張機能にも通知します。 拡張機能に渡される値は 、Status の値によって異なります。 Status がDEBUG_SESSION_ACTIVEの場合は、DEBUG_SESSION_ACTIVE渡されます。それ以外の場合は、DEBUG_SESSION_INACTIVE渡されます。

DEBUG_SESSION_ACTIVEの場合、エンジンはデバッガー セッション変更通知に従い、イベント コールバックで IDebugEventCallbacks::ChangeDebuggeeState を呼び出し、 Flags パラメーターにDEBUG_CDS_ALLを渡すことで、ターゲット状態変更通知を受け取ります。 その他のすべての場合、エンジンは、イベント コールバックで IDebugEventCallbacks::ChangeEngineState を呼び出し、 Flags パラメーターにDEBUG_CES_EXECUTION_STATUSを渡すことによって、この通知の前にエンジン状態変更通知を付けます。

イベントの処理の詳細については、「 イベントの監視」を参照してください。 デバッガー セッションの詳細については、「 セッションと実行モデルのデバッグ」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)