Condividi tramite


ExtExtension::* Funzione di callback ExtKnownStructMethod (engextcpp.hpp)

L'ExtKnownStructMethod metodo di callback viene chiamato dal motore per formattare un'istanza di una struttura per l'output in una singola riga.

Sintassi

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

void Extextension::*Extknownstructmethod(
  [in] PCSTR TypeName,
  [in] ULONG Flags,
  [in] ULONG64 Offset
)
{...}

Parametri

[in] TypeName

Specifica il nome del tipo della struttura a cui punta Offset. Corrisponde al campo TypeName della struttura ExtKnownStruct utilizzata per registrare questo metodo di callback.

[in] Flags

Specifica i flag di bit che indicano la modalità di formattazione dell'output. Attualmente, questa opzione è impostata su DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT, che indica che l'output deve essere formattato per l'output in una singola riga.

[in] Offset

Specifica il percorso nella memoria della destinazione dell'istanza della struttura da formattare per l'output.

Valore restituito

Nessuno

Osservazioni

Il motore del debugger prevede che l'output venga formattato per la stampa su una singola riga, pertanto non prevede che la struttura formattata abbia interruzioni di riga.

L'output formattato da questo metodo deve essere inserito nel buffer m_AppendBuffer, un membro di ExtExtension.

Le istanze di questo metodo di callback vengono registrate con il motore usando un'istanza della struttura ExtKnownStruct inserita nella matrice m_KnownStructs (membro di ExtExtension) dal metodo Initialize. La struttura extknownStruct specifica anche il nome del tipo di struttura formattato da questo metodo.

Quando il motore del debugger chiama un metodo di struttura noto, esegue il wrapping della chiamata in un try/except block. In questo modo il motore viene protetto da alcuni tipi di bug nel codice di estensione; tuttavia, poiché le chiamate di estensione vengono eseguite nello stesso thread del motore, possono comunque causare un arresto anomalo.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione engextcpp.hpp (include Engextcpp.hpp)

Vedere anche

ExtExtension

ExtKnownStruct

inizializzare