Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il metodo AddExtensionCommand aggiunge una nuova voce FA a un oggetto DebugFailureAnalysis e imposta il blocco di dati della voce FA su un comando del debugger specificato.
Sintassi
PFA_ENTRY AddExtensionCommand(
FA_TAG Tag,
[in] PCSTR Extension
);
Parametri
Tag
Valore nell'enumerazione FA_TAG. Il tipo di dati associato a questo tag deve essere DEBUG_FA_ENTRY_EXTENSION_CMD o DEBUG_FA_ENTRY_ANSI_STRING.
[in] Extension
Puntatore a una stringa ANSI con terminazione Null che è il comando del debugger. Un esempio di comando del debugger è "!analyze -v".
Valore restituito
Se questo metodo ha esito positivo, restituisce un puntatore alla nuova struttura FA_ENTRY . Se questo metodo ha esito negativo, restituisce NULL.
Osservazioni:
Questo metodo imposta il membro DataSize della nuova struttura FA_ENTRY sulla lunghezza, espressa in byte, del comando di estensione, incluso il carattere di terminazione NULL .
Ogni tag è associato a uno dei tipi di dati nell'enumerazione FA_ENTRY_TYPE . Per determinare il tipo di dati associato a un tag, chiamare il metodo GetType dell'interfaccia IDebugFAEntryTags.
Per ottenere un puntatore a un'interfaccia IDebugFAEntryTags , chiamare il metodo GetDebugFATagControl dell'interfaccia IDebugFailureAnalysis2 .
[sperry] Nota su Self: se il tag specificato non ha già risolto il tipo di dati, questo metodo imposta e corregge il tipo di dati per il tag. Questo è il caso se l'oggetto DebugFailureAnalysis non dispone ancora di una voce FA con questo tag. Tuttavia, se l'oggetto DebugFailureAnalysis dispone già di una voce FA con questo tag, il tipo di dati del tag è fisso. Questo metodo crea una nuova voce FA con lo stesso tag. Ora cosa accade se il tipo di dati che si sta tentando di scrivere nel nuovo buffer di dati non corrisponde al tipo di dati corretto per questo tag. Si noterà quindi se è ok eseguire il cast dal tipo di dati fisso al tipo che si vuole scrivere.
È possibile eseguire il cast tra ULONG64, POINTER e InstructionOffset. È possibile eseguire il cast tra String e ExtensionCommand. ULONG può essere solo ULONG. Gli STRING possono essere solo STRING.
Domanda: Quando viene corretto il tipo di dati di un tag? È quando viene creata la prima voce FA con tale tag?
typedef struct _FA_TAG_PROPS
{
FA_TAG Tag;
FA_ENTRY_TYPE Type;
ULONG Fixed:1;
ULONG NameAllocated:1;
ULONG DescriptionAllocated:1;
PCSTR Name;
PCSTR Description;
AnalysisPlugIn *Plugin;
} FA_TAG_PROPS, *PFA_TAG_PROPS;
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Schermo |
intestazione | extsfns.h |
Vedere anche
IDebugFAEntryTags
Scrittura di un plug-in dell'estensione di analisi per estendere !analyze