ExtExtension::* ExtKnownStructMethod コールバック関数 (engextcpp.hpp)
ExtKnownStructMethod コールバック メソッドは、1 行の出力用に構造体のインスタンスを書式設定するためにエンジンによって呼び出されます。
構文
ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;
void Extextension::*Extknownstructmethod(
[in] PCSTR TypeName,
[in] ULONG Flags,
[in] ULONG64 Offset
)
{...}
パラメーター
[in] TypeName
Offset によって指される構造体の型の名前を指定 します。 これは、このコールバック メソッドの登録に使用される ExtKnownStruct 構造体の TypeName フィールドと同じです。
[in] Flags
出力の書式設定方法を示すビット フラグを指定します。 現在、これは DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT に設定されています。これは、出力を 1 行の出力用に書式設定する必要があることを示します。
[in] Offset
出力用に書式設定する構造体のインスタンスのターゲットのメモリ内の場所を指定します。
戻り値
なし
解説
デバッガー エンジンは、出力が 1 行で印刷されるように書式設定されることを想定しているため、書式設定された構造体に改行は想定されません。
このメソッドの書式設定された出力は、extExtension のメンバーであるバッファー m_AppendBufferに配置する必要があります。
このコールバック メソッドのインスタンスは、Initialize メソッドによって配列m_KnownStructs (ExtExtension のメンバー) に配置される ExtKnownStruct 構造体のインスタンスを使用してエンジンに登録されます。 ExtKnownStruct 構造体は、このメソッドが書式設定する構造体の型の名前も指定します。
デバッガー エンジンが既知の構造体メソッドを呼び出すと、 try / except ブロックで呼び出しがラップされます。 これにより、拡張機能コードの一部の種類のバグからエンジンが保護されます。ただし、拡張機能の呼び出しはエンジンと同じスレッドで実行されるため、クラッシュする可能性があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | engextcpp.hpp (Engextcpp.hpp を含む) |