Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die AddExtensionCommand--Methode fügt einen neuen FA-Eintrag zu einem DebugFailureAnalysis-Objekt hinzu und legt den Datenblock des FA-Eintrags auf einen angegebenen Debuggerbefehl fest.
Syntax
PFA_ENTRY AddExtensionCommand(
FA_TAG Tag,
[in] PCSTR Extension
);
Parameter
Tag
Ein Wert in der FA_TAG-Aufzählung. Der diesem Tag zugeordnete Datentyp muss DEBUG_FA_ENTRY_EXTENSION_CMD oder DEBUG_FA_ENTRY_ANSI_STRINGsein.
[in] Extension
Ein Zeiger auf eine MIT NULL beendete ANSI-Zeichenfolge, die der Debuggerbefehl ist. Ein Beispiel für den Debuggerbefehl ist "!analyze -v".
Rückgabewert
Wenn diese Methode erfolgreich verläuft, wird ein Zeiger auf die neue FA_ENTRY Struktur zurückgegeben. Wenn diese Methode fehlschlägt, wird NULL-zurückgegeben.
Bemerkungen
Diese Methode legt den DataSize Member der neuen FA_ENTRY Struktur auf die Länge des Erweiterungsbefehls in Bytes fest, einschließlich des NULL Endator.
Jedes Tag ist einem der Datentypen in der FA_ENTRY_TYPE-Aufzählung zugeordnet. Um den einem Tag zugeordneten Datentyp zu ermitteln, rufen Sie die GetType--Methode der IDebugFAEntryTags Schnittstelle auf.
Rufen Sie zum Abrufen eines Zeigers auf eine IDebugFAEntryTags- Schnittstelle die GetDebugFATagControl-methode der IDebugFailureAnalysis2-Schnittstelle auf.
[sperry] Hinweis zu Self: Wenn das angegebene Tag seinen Datentyp noch nicht behoben hat, legt diese Methode den Datentyp für das Tag fest und behebt diesen. Dies wäre der Fall, wenn das DebugFailureAnalysis-Objekt noch keinen FA-Eintrag mit diesem Tag enthält. Wenn das DebugFailureAnalysis-Objekt jedoch bereits über einen FA-Eintrag mit diesem Tag verfügt, wird der Datentyp des Tags behoben. Diese Methode erstellt einen neuen FA-Eintrag mit demselben Tag. Was geschieht nun, wenn der Datentyp, den wir in den neuen Datenpuffer schreiben möchten, nicht mit dem Datentyp übereinstimmt, der für dieses Tag behoben wurde. Dann wird angezeigt, ob es OK ist, aus dem festen Datentyp in den Typ zu umwandeln, den wir schreiben möchten.
Es ist OK, zwischen ULONG64, ZEIGER und InstructionOffset zu wandeln. Es ist OK, zwischen Zeichenfolge und ExtensionCommand zu umwandeln. ULONG kann nur ULONG sein. STRINGs können nur STRINGs sein.
Frage: Wann wird der Datentyp eines Tags behoben? Wird der erste FA-Eintrag mit diesem Tag erstellt?
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;
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Desktop |
| Header- | extsfns.h |
Siehe auch
Schreiben eines Analysis Extension Plug-Ins zum Erweitern von !analyze