ExtExtension::* función de devolución de llamada ExtKnownStructMethod (engextcpp.hpp)
El motor llama al método de devolución de llamada ExtKnownStructMethod para dar formato a una instancia de una estructura para la salida en una sola línea.
Sintaxis
ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;
void Extextension::*Extknownstructmethod(
[in] PCSTR TypeName,
[in] ULONG Flags,
[in] ULONG64 Offset
)
{...}
Parámetros
[in] TypeName
Especifica el nombre del tipo de la estructura a la que apunta Offset. Esto es lo mismo que el campo TypeName de la estructura ExtKnownStruct que se usa para registrar este método de devolución de llamada.
[in] Flags
Especifica marcas de bits que indican cómo se debe dar formato a la salida. Actualmente, se establece en DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT, lo que indica que la salida debe tener formato para la salida en una sola línea.
[in] Offset
Especifica la ubicación en la memoria del destino de la instancia de la estructura a la que se va a dar formato para la salida.
Valor devuelto
None
Observaciones
El motor del depurador espera que la salida tenga formato para imprimir en una sola línea, por lo que no espera que la estructura con formato tenga saltos de línea.
La salida con formato de este método debe colocarse en el m_AppendBuffer del búfer: un miembro de ExtExtension.
Las instancias de este método de devolución de llamada se registran con el motor mediante una instancia de la estructura ExtKnownStruct que se coloca en la matriz m_KnownStructs (miembro de ExtExtension) mediante el método Initialize . La estructura ExtKnownStruct también especifica el nombre del tipo de estructura que da formato a este método.
Cuando el motor del depurador llama a un método de estructura conocido, encapsula la llamada en un bloque try/except . Esto protege el motor de algunos tipos de errores en el código de extensión; pero, dado que las llamadas de extensión se ejecutan en el mismo subproceso que el motor, pueden provocar que se bloquee.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | engextcpp.hpp (include Engextcpp.hpp) |