次の方法で共有


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 で stack という名前のエクスポートされた関数を検索します。 拡張 DLL を検索する順序については、「 デバッガー拡張機能コマンドの使用」を参照してください。

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

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

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h

こちらもご覧ください

IDebugClient