次の方法で共有


PDEBUG_EXTENSION_CALL コールバック関数 (dbgeng.h)

PDEBUG_EXTENSION_CALL 型のコールバック関数は、拡張コマンドを実行するためにエンジンによって呼び出されます。 これらの関数には、大文字が含まれていない限り、任意の名前を指定できます。

構文

PDEBUG_EXTENSION_CALL PdebugExtensionCall;

HRESULT PdebugExtensionCall(
  [in]           PDEBUG_CLIENT Client,
  [in, optional] PCSTR Args
)
{...}

パラメーター

[in] Client

クライアントへのインターフェイス ポインターを指定します。 これは、エンジンとの対話に使用できます。 通常、これは拡張コマンドが発行されたクライアントです。

[in, optional] Args

拡張コマンドに渡される引数を指定します。 特に、拡張コマンドがコマンド ラインから呼び出された場合、Args には残りのコマンド ラインが含まれます。 NULL または空 できます。

戻り値

リターン コード 形容
S_OK
関数が成功しました。
DEBUG_EXTENSION_CONTINUE_SEARCH
関数がコマンドを処理できないこと、または他の拡張 DLL 内の同じコマンドの他の実装も実行する必要があることを示します。 エンジンは、コマンドを処理する別の関数について、他の拡張 DLL の検索を続行する必要があります。 たとえば、これを使用して、各ヘルプ関数がCONTINUE_SEARCHを返す場合に、すべてのヘルプ関数を実行できます。
 

その他の戻り値はすべて、エンジンによって無視されます。

備考

関数の名前が拡張コマンドの名前になります。 拡張コマンドを実行すると、エンジンは読み込まれた各拡張 DLL を順番に検索し、コマンドと同じ名前のエクスポートされた関数を探します。 たとえば、!stack コマンドを実行すると、エンジンは読み込まれた各拡張 DLL でスタック という名前 エクスポートされた関数を検索します。 拡張 DLL を検索する順序については、「デバッガー拡張機能コマンドの使用 」を参照してください。

拡張機能関数は、別のクライアントを使用する特定の理由がない限り、クライアント で渡されたクライアントを使用して、エンジンとのすべての対話を行う必要があります。 拡張関数は、クライアント オブジェクトが終了した後も、そのオブジェクトへのポインターを維持しないようにする必要があります。

DebugExtensionCall は、Dbgeng.h ヘッダー ファイル内の PDEBUG_EXTENSION_CALL 呼び出されます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h

関連項目

IDebugClient