Share via


DkmModuleInstance Klasse

Definition

Die Module Instance-Klasse stellt ein Codepaket (z. B. dll oder exe) dar, das an einem bestimmten Speicherort in einen bestimmten Prozess geladen wird. Module Instance-Objekte sind 1:1 mit dem Konzept eines Codepakets in der Ausführungsumgebung. In systemeigenem Code sind beispielsweise Module Instance-Objekte 1:1 mit Basisadresse.

Abgeleitete Klassen: DkmClrModuleInstance, DkmClrNcModuleInstance, DkmCustomModuleInstance, DkmNativeModuleInstance, DkmClrNcContainerModuleInstance

public ref class DkmModuleInstance abstract : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("74857b6f-618d-66e3-149e-6cebf4c4123e")]
public abstract class DkmModuleInstance : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("74857b6f-618d-66e3-149e-6cebf4c4123e")>]
type DkmModuleInstance = class
    inherit DkmDataContainer
Public MustInherit Class DkmModuleInstance
Inherits DkmDataContainer
Vererbung
Vererbung
DkmModuleInstance
Abgeleitet
Attribute

Eigenschaften

BaseAddress

[Optional] Die Startadresse des Speichers, an den das Modul geladen wurde. Dieser Wert ist null, wenn das Modul nicht in einem zusammenhängenden Speicherblock geladen wurde.

Connection

Dies stellt eine Verbindung zwischen dem Monitor und der IDE dar. Es kann entweder eine lokale Verbindung sein, wenn der Monitor im selben Prozess wie die IDE ausgeführt wird, oder es kann sich um eine Remoteverbindung handelt. Im Überwachungsprozess besteht nur eine Verbindung.

Flags

Flags, die Merkmale einer DkmModuleInstance angeben.

FullName

Vollqualifizierter Modulname. Bei dateibasierten Modulen ist dies der vollständige Pfad zum Modul (z. B. c:\windows\system32\kernel32.dll.

IsDisabled

Gibt an, ob dieses Modul instance deaktiviert wurde. Deaktivierte Module werden vom Debugger weitgehend ignoriert. Bei nativen Modulen wird der Adressbereich des deaktivierten Moduls so behandelt, als sei er nicht zugeordnet. Bei CLR-Modulen werden alle Frames aus diesen Modulen im Aufrufstapel ausgeblendet.

IsUnloaded

Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
LoadContext

Zeichenfolgenbeschreibung des Kontexts, unter dem dieses Modul geladen wurde. Beispiel: "Win32" oder "CLR v2.0.50727: Standarddomäne".

LoadOrder

Die ganzzahlige Anzahl der Modulinstanzen, die bis zu und einschließlich dieses Modul geladen wurden. Jede Runtime instance verfolgt ihre eigene Anzahl der Ladereihenfolgen.

MemoryLayout

Enumeration, die angibt, wie ein Modul im Arbeitsspeicher angeordnet ist.

MinidumpInfoPart

[Optional] "MinidumpInfoPart" wird verwendet, um zusätzliche Informationen zu Modulen in einem DkmProcess für einen Minidump zu vermitteln.

Module

[Optional] Die Darstellung eines Moduls (DkmModule), das diesem Modul zugeordnet ist, instance durch den Symbolhandler. Dieser Wert ist zunächst NULL und wird zugewiesen, wenn symbole diesem Modul instance zugeordnet sind.

Name

Kurze Darstellung des Modulnamens. Bei dateibasierten Modulen ist dies der Dateiname und die Erweiterung (z. B. kernel32.dll).

Process

DkmProcess stellt einen Zielprozess dar, der debuggt wird. Der Debugger debugt Prozesse, sodass dies die grundlegende Einheit des Debuggens ist. Ein DkmProcess kann einen Systemprozess oder einen virtuellen Prozess wie Minidumps darstellen.

RuntimeInstance

Die DkmRuntimeInstance-Klasse stellt eine Ausführungsumgebung dar, die in einen DkmProcess geladen wird und Code enthält, der zu debuggen ist.

Size

[Optional] Die Anzahl der Bytes im Speicherbereich des Moduls. Dieser Wert ist 0, wenn das Modul nicht in einem zusammenhängenden Speicherblock geladen wurde.

SymbolFileId

[Optional] Enthält Informationen, die zum Suchen nach Symbolen für dieses Modul erforderlich sind. Unter Win32 sind diese Informationen im IMAGE_DEBUG_DIRECTORY enthalten.

TagValue

DkmModuleInstance ist eine abstrakte Basisklasse. Diese Aufzählung gibt an, welche abgeleitete Klasse dieses Objekt instance ist.

TimeDateStamp

Datum/Uhrzeit des Erstellungszeitpunkts des geladenen Moduls. Dieser Wert wird aus dem IMAGE_NT_HEADERS des geladenen Moduls abgerufen. Die Maßeinheit ist ein FILETIME-Wert, bei dem es sich um einen 64-Bit-Wert handelt, der die Anzahl der Intervalle von 100 Nanosekunden seit dem 1. Januar 1601 (UTC) darstellt.

UniqueId

Identifiziert das DkmModuleInstance-Objekt eindeutig.

Version

[Optional] Dateiversionsinformationen.

Methoden

ClearTransitionModuleFlag()

Laufzeitinstanzen rufen diese Methode auf, um ein Modul als Begrenzungsmodul zu markieren. Beim Schrittweisen sollten Laufzeiten überprüfen, ob der Schritt ein Begrenzungsmodul erreicht hat, und mit dem Schrittweisen Durchlaufen der Schlichtung beginnen, falls dies derEnt ist. Beachten Sie, dass einige Laufzeiten diese Anforderung möglicherweise nicht einhalten können. Der Verteiler behält die Anzahl der Aufrufe von FlagAsTransitionModule bei. Nur wenn eine übereinstimmende Anzahl von Aufrufen von ClearTransitionModuleFlag entspricht, wird das Modul nicht mehr als Übergangsmodul betrachtet.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Decompile()

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) eingeführt.

Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) eingeführt.

Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten S_OK bei Einem Fehler zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

Decompile(String, Int32)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten S_OK bei Einem Fehler zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

FlagAsTransitionModule()

Laufzeitinstanzen rufen diese Methode auf, um ein Modul als Begrenzungsmodul zu markieren. Beim Schrittweisen sollten Laufzeiten überprüfen, ob der Schritt ein Begrenzungsmodul erreicht hat, und mit dem Schrittweisen Durchlaufen der Schlichtung beginnen, falls dies derEnt ist. Beachten Sie, dass einige Laufzeiten diese Anforderung möglicherweise nicht einhalten können. Der Verteiler behält die Anzahl der Aufrufe bei. Nur wenn eine übereinstimmende Anzahl von Aufrufen von ClearTransitionModuleFlag erfolgt ist, wird das Modul nicht mehr als Übergangsmodul betrachtet.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

GetDataItem<T>()

Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean)

Rufen Sie die Disassemblierung des Adressbereichs im debuggee-Modul instance ab.

GetGPUDisassemblySize()

Gibt die Disassemblierungsgröße im debuggee-Modul instance zurück.

GetNextGPUInstructionAddress(UInt64)

Gibt die Adresse der nächsten Anweisung relativ zu einer Startadresse zurück.

GetSymbolLoadInformation()

Gibt eine Zeichenfolge zurück, die die verschiedenen Stellen beschreibt, an denen nach Symbolen gesucht wurde, und das Ergebnis der Überprüfung dieser Position. Diese Informationen werden verwendet, um die "Symbolladeinformationen" im Modulfenster aufzufüllen.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

GetSymbolSearchResult()

Ruft alle Symbolsuchergebnisse ab, die diesem Modul instance zugeordnet sind.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

GetSymbolSearchResult(DkmWorkList, DkmCompletionRoutine<DkmGetSymbolSearchResultAsyncResult>)

Ruft alle Symbolsuchergebnisse ab, die diesem Modul instance zugeordnet sind.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

GetSymbolStatusMessage(Boolean)

Rufen Sie eine lokalisierte Zeichenfolgenbeschreibung des aktuellen Symbols status ab.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

GetSymbolStatusMessage(DkmWorkList, Boolean, DkmCompletionRoutine<DkmGetSymbolStatusMessageAsyncResult>)

Rufen Sie eine lokalisierte Zeichenfolgenbeschreibung des aktuellen Symbols status ab.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

IsSuppressed()

Mit dieser Methode kann eine Komponente ermitteln, ob das Modulladeereignis für ein Modul unterdrückt wurde.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

IsTransitionModule()

Gibt true zurück, wenn ein Runtime-instance dieses Modul als Übergangsmodul gekennzeichnet hat.

Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000).

IsUserCode()

Bestimmt, ob ein Modul als Benutzercode gilt.

Standorteinschränkung: Diese Methode kann von einer IDE-Komponente aufgerufen werden. Ab Visual Studio 2013 Update 2 ist es auch möglich, dies über eine Überwachungskomponente für verwalteten Code aufzurufen. In Visual Studio 2017 Update 8 wurde die CallDirection der API von "Normal" als "Bidirektional" festgelegt und kann jetzt von jeder Komponente aufgerufen werden, AsyncCaller wurde auf "true" festgelegt und der CallerLocationConstraint wurde von "NoMarshalling" auf "None" festgelegt.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>)

Bestimmt, ob ein Modul als Benutzercode gilt.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Diese Methode kann von einer IDE-Komponente aufgerufen werden. Ab Visual Studio 2013 Update 2 ist es auch möglich, dies über eine Überwachungskomponente für verwalteten Code aufzurufen. In Visual Studio 2017 Update 8 wurde die CallDirection der API von "Normal" als "Bidirektional" festgelegt und kann jetzt von jeder Komponente aufgerufen werden, AsyncCaller wurde auf "true" festgelegt und der CallerLocationConstraint wurde von "NoMarshalling" auf "None" festgelegt.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

OnBinaryLoaded(String)

Auslösen eines BinaryLoaded-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

OnBinaryReloadOpportunity()

Auslösen eines BinaryReloadOpportunity-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000).

Diese API wurde in Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) eingeführt.

OnModuleModified()

Diese Methode wird aufgerufen, wenn ein Modul aufgrund von EnC oder dynamisch ausgegebenem Code geändert wird.

Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000).

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

OnSymbolsLoaded(DkmModule, Boolean)

Diese Methode wird von Basisdebugmonitoren als Reaktion auf einen Aufruf von IDkmModuleSymbolsLoaded.RaiseSymbolsLoadedEvent aufgerufen. Diese Methode muss über den Ereignisthread oder über den Anforderungsthread im Rahmen eines Neuladens aufgerufen werden. Basisdebugmonitore sollten synchron zum Ereignisthread wechseln, den Zielprozess anhalten und OnSymbolsLoaded aufrufen.

Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000).

OnSymbolsUpdated(DkmModule)

Lösen Sie ein ModuleSymbolsUpdated-Ereignis aus. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

ReadSymbols()

Diese Methode wird von Symbolhandlern aufgerufen, um Symbole für DkmModuleInstances zu lesen, deren Symbole sich im Arbeitsspeicher von Debuggee befinden.

RemoveDataItem<T>()

Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird.

(Geerbt von DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)
SetDisabled(Boolean)

Updates die deaktivierte status in einem Modul. Diese Methode kann nur von einem ModuleInstanceLoad-Ereignis aufgerufen werden. Beim Deaktivieren eines Moduls ist es üblich, auch das Modulladeereignis zu unterdrücken.

SetModule(DkmModule, Boolean)

Diese Methode wird von einem Symbolanbieter aufgerufen, um ein DkmModule-Ereignis einer DkmModuleInstance zuzuordnen und ein ModuleSymbolsLoaded-Ereignis auszulösen. Es kann nur einmal für ein DkmModuleInstance-Objekt aufgerufen werden. Beim Aufrufen dieser API wird sowohl die Zuordnung DkmModule-DkmModuleInstance<> erstellt als auch ein ModuleSymbolsLoaded-Ereignis ausgelöst.

TryLoadBinary()

Versuchen Sie, eine Binärdatei zu laden, die zuvor nicht geladen werden konnte, indem Sie aktualisierte Symbolpfade verwenden.

TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>)

Versuchen Sie, eine Binärdatei zu laden, die zuvor nicht geladen werden konnte, indem Sie aktualisierte Symbolpfade verwenden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

TryLoadSymbols()

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

TryLoadSymbols(DkmSymbolLoadFlags)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

Diese API wurde in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) eingeführt.

TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

TryLoadSymbols(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000).

Diese API wurde in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) eingeführt.

TryLoadSymbolsCallback()

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt an die "echte" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

Diese API wurde in Visual Studio 17 RTM (DkmApiVersion.VS17RTM) eingeführt.

TryLoadSymbolsCallback(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsCallbackAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt zur "echten" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

Diese API wurde in Visual Studio 17 RTM (DkmApiVersion.VS17RTM) eingeführt.

TryLoadSymbolsCallback177(DkmSymbolLoadFlags)

Wird aufgerufen, um das Laden von lokal vorhandenen Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt zur "echten" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

TryLoadSymbolsCallback177(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsCallback177AsyncResult>)

Wird aufgerufen, um das Laden von lokal vorhandenen Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt zur "echten" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

Unload()

Markieren Sie das Unload-Objekt als entladen, und benachrichtigen Sie Komponenten, die die Ereignissenkenschnittstelle implementieren. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat.

Gilt für: