IDebugHost::GetCurrentContext-Methode (dbgmodel.h)
Die GetCurrentContext-Methode gibt eine Schnittstelle zurück, die den aktuellen Zustand des Debuggerhosts darstellt. Die genaue Bedeutung bleibt dem Host überlassen, umfasst aber in der Regel Dinge wie die Sitzung, den Prozess und den Adressraum, der auf der Benutzeroberfläche des Debughosts aktiv ist. Das zurückgegebene Kontextobjekt ist für den Aufrufer weitgehend undurchsichtig, aber es ist ein wichtiges Objekt, das zwischen Aufrufen an den Debughost übergeben werden muss. Wenn ein Aufrufer instance Arbeitsspeicher liest, ist es wichtig zu wissen, aus welchem Prozess und Adressraum der Arbeitsspeicher gelesen wird. Dieser Begriff wird im Konzept des Kontextobjekts gekapselt, das von dieser Methode zurückgegeben wird.
Jedem Objekt und Symbol im Datenmodell sind optional Kontextinformationen wie diese zugeordnet. Es ist auch häufig typisch, dass kontext von einem Objekt an neue Objekte übergeben wird, die als Eigenschaften von vorhandenen erstellt wurden. Solche Objekte, die vom Debughost selbst erstellt werden, können dazu führen, dass zusätzliche Kontextinformationen in das zurückgegebene Objekt eingebettet werden (z. B. die Stack-Eigenschaft eines Threads kann Informationen darüber einbetten, auf welchen Thread der Stapel innerhalb des Kontexts verweist).
Syntax
HRESULT GetCurrentContext(
IDebugHostContext **context
);
Parameter
context
Hier wird ein Objekt zurückgegeben, das den aktuellen Kontext des Hosts darstellt.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt. Ein Host, der über kein Konzept von Kontextinformationen verfügt, kann hier E_NOTIMPL zurückgeben.
Hinweise
Codebeispiel
ComPtr<IDebugHost> spHost; /* get the debug host */
ComPtr<IDebugHostContext> spContext;
if (SUCCEEDED(spHost->GetCurrentContext(&spContext)))
{
// spContext now contains an opaque object representing the current UI
// state of the debugger (e.g.: what session/process/thread the debug UI
// is focused on)
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |