DkmModuleInstance Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Klasa Wystąpienia modułu reprezentuje pakiet kodu (np. dll lub exe), który jest ładowany do określonego procesu w określonej lokalizacji. Obiekty wystąpienia modułu to 1:1 z pojęciem pakietu kodu w środowisku wykonywania. Na przykład w kodzie natywnym obiekty wystąpienia modułu mają adres podstawowy 1:1.
Klasy pochodne: 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
- Dziedziczenie
- Dziedziczenie
- Pochodne
- Atrybuty
Właściwości
BaseAddress |
[Opcjonalnie] Adres pamięci początkowej miejsca załadowania modułu. Ta wartość będzie równa zero, jeśli moduł nie został załadowany w ciągłym bloku pamięci. |
Connection |
Reprezentuje to połączenie między monitorem a środowiskiem IDE. Może to być połączenie lokalne, jeśli monitor jest uruchomiony w tym samym procesie co środowisko IDE lub może być połączeniem zdalnym. W procesie monitorowania istnieje tylko jedno połączenie. |
Flags |
Flagi wskazujące cechy obiektu DkmModuleInstance. |
FullName |
W pełni kwalifikowana nazwa modułu. W przypadku modułów opartych na plikach jest to pełna ścieżka do modułu (np. c:\windows\system32\kernel32.dll. |
IsDisabled |
Wskazuje, czy to wystąpienie modułu zostało wyłączone. Wyłączone moduły są w dużej mierze ignorowane przez debuger. W przypadku modułów natywnych zakres adresów wyłączonego modułu jest traktowany tak, jakby był niezamapowany. W przypadku modułów CLR wszystkie ramki z tych modułów są ukryte przed stosem wywołań. |
IsUnloaded |
Zwraca wartość true, jeśli dla tego obiektu zostało podniesione zdarzenie "unloaded" (na przykład: DkmThread::Unload jest wywoływane) lub jeśli obiekt został zamknięty. Należy pamiętać, że podczas sprawdzania tego stanu należy zachować ostrożność, ponieważ bez synchronizacji zwrócony stan może nie być już dokładny po odczytaniu instrukcji. (Odziedziczone po DkmDataContainer) |
LoadContext |
Opis ciągu kontekstu, w którym załadowano ten moduł. na przykład: "Win32" lub "CLR v2.0.50727: Domena domyślna". |
LoadOrder |
Liczba całkowita liczby wystąpień modułu, które zostały załadowane do i w tym module. Każde wystąpienie środowiska uruchomieniowego śledzi własną liczbę zamówień ładowania. |
MemoryLayout |
Wyliczenie wskazujące sposób, w jaki moduł jest ułożony w pamięci. |
MinidumpInfoPart |
[Opcjonalnie] Element "MinidumpInfoPart" służy do przekazywania dodatkowych informacji o modułach w module DkmProcess dla minidump. |
Module |
[Opcjonalnie] Reprezentacja modułu programu obsługi symboli (DkmModule), który jest skojarzony z tym wystąpieniem modułu. Ta wartość początkowo ma wartość null i jest przypisywana, jeśli i kiedy symbole są skojarzone z tym wystąpieniem modułu. |
Name |
Krótka reprezentacja nazwy modułu. W przypadku modułów opartych na plikach jest to nazwa i rozszerzenie pliku (np. kernel32.dll). |
Process |
DkmProcess reprezentuje proces docelowy, który jest debugowany. Debuger debuguje procesy, więc jest to podstawowa jednostka debugowania. Proces DkmProcess może reprezentować proces systemowy lub proces wirtualny, taki jak minidumps. |
RuntimeInstance |
Klasa DkmRuntimeInstance reprezentuje środowisko wykonawcze, które jest ładowane do obiektu DkmProcess i który zawiera kod do debugowania. |
Size |
[Opcjonalnie] Liczba bajtów w regionie pamięci modułu. Ta wartość będzie równa zero, jeśli moduł nie został załadowany w ciągłym bloku pamięci. |
SymbolFileId |
[Opcjonalnie] Zawiera informacje potrzebne do zlokalizowania symboli dla tego modułu. W systemie Win32 te informacje są zawarte w IMAGE_DEBUG_DIRECTORY. |
TagValue |
DkmModuleInstance jest abstrakcyjną klasą bazową. To wyliczenie wskazuje, która klasa pochodna jest wystąpieniem tego obiektu. |
TimeDateStamp |
Data/godzina utworzenia załadowanego modułu. Ta wartość jest uzyskiwana z IMAGE_NT_HEADERS załadowanego modułu. Jednostka miary jest wartością FILETIME, która jest wartością 64-bitową reprezentującą liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC). |
UniqueId |
Unikatowo identyfikuje obiekt DkmModuleInstance. |
Version |
[Opcjonalnie] Informacje o wersji pliku. |
Metody
ClearTransitionModuleFlag() |
Wystąpienia środowiska uruchomieniowego wywołają tę metodę, aby oznaczyć moduł jako moduł graniczny. Podczas wykonywania kroków środowiska uruchomieniowe powinny sprawdzić, czy krok uderzył w moduł granicy i rozpocząć kroki arbitrażu, jeśli mają. Należy pamiętać, że niektóre środowiska uruchomieniowe mogą nie być w stanie rozpoznać tego żądania. Dyspozytor zachowa liczbę wywołań flagAsTransitionModule. Tylko wtedy, gdy zgodna liczba wywołań funkcji ClearTransitionModuleFlag nie będzie już traktowana jako moduł przejściowy. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). |
Decompile() |
Dekompiluje kod modułu w języku C# i tworzy nowy przenośny plik PDB z osadzonym źródłem. Wszystkie moduły, które współużytkują ten plik symboli, zaczną używać tych zaktualizowanych symboli. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>) |
Dekompiluje kod modułu w języku C# i tworzy nowy przenośny plik PDB z osadzonym źródłem. Wszystkie moduły, które współużytkują ten plik symboli, zaczną używać tych zaktualizowanych symboli. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5). |
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult173>) |
Dekompiluje kod modułu w języku C# i tworzy nowy przenośny plik PDB z osadzonym źródłem. Wszystkie moduły, które współużytkują ten plik symboli, zaczną używać tych zaktualizowanych symboli. Implementacje powinny zwracać S_OK po niepowodzeniu i zwracać rzeczywiste wartości HRESULT oraz wszelkie dodatkowe informacje o błędzie za pośrednictwem parametrów "HR" i "ErrorMessage". Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
Decompile(String, Int32) |
Dekompiluje kod modułu w języku C# i tworzy nowy przenośny plik PDB z osadzonym źródłem. Wszystkie moduły, które współużytkują ten plik symboli, zaczną używać tych zaktualizowanych symboli. Implementacje powinny zwracać S_OK po niepowodzeniu i zwracać rzeczywiste wartości HRESULT oraz wszelkie dodatkowe informacje o błędzie za pośrednictwem parametrów "HR" i "ErrorMessage". Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
FlagAsTransitionModule() |
Wystąpienia środowiska uruchomieniowego wywołają tę metodę, aby oznaczyć moduł jako moduł graniczny. Podczas wykonywania kroków środowiska uruchomieniowe powinny sprawdzić, czy krok uderzył w moduł granicy i rozpocząć kroki arbitrażu, jeśli mają. Należy pamiętać, że niektóre środowiska uruchomieniowe mogą nie być w stanie rozpoznać tego żądania. Dyspozytor zachowa liczbę wywołań. Tylko wtedy, gdy została wykonana zgodna liczba wywołań funkcji ClearTransitionModuleFlag, moduł nie będzie już traktowany jako moduł przejściowy. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). |
GetDataItem<T>() |
Pobiera wystąpienie elementu "T", które zostało dodane do tego wystąpienia kontenera. Jeśli ten kontener nie zawiera wartości "T", ta funkcja zwróci wartość null. (Odziedziczone po DkmDataContainer) |
GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean) |
Uzyskaj dezasemblacji zakresu adresów w wystąpieniu modułu debuggee. |
GetGPUDisassemblySize() |
Zwraca rozmiar dezasemblacji w wystąpieniu modułu debuggee. |
GetNextGPUInstructionAddress(UInt64) |
Zwraca adres następnej instrukcji względem adresu początkowego. |
GetSymbolLoadInformation() |
Zwraca ciąg opisujący różne lokalizacje, w których wyszukiwano symbole, oraz wynik sprawdzania tej lokalizacji. Te informacje są używane do wypełniania informacji o ładowaniu symboli w oknie modułów. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). |
GetSymbolSearchResult() |
Pobiera wszystkie wyniki wyszukiwania symboli skojarzone z tym wystąpieniem modułu. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
GetSymbolSearchResult(DkmWorkList, DkmCompletionRoutine<DkmGetSymbolSearchResultAsyncResult>) |
Pobiera wszystkie wyniki wyszukiwania symboli skojarzone z tym wystąpieniem modułu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
GetSymbolStatusMessage(Boolean) |
Uzyskaj zlokalizowany opis ciągu bieżącego stanu symbolu. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). |
GetSymbolStatusMessage(DkmWorkList, Boolean, DkmCompletionRoutine<DkmGetSymbolStatusMessageAsyncResult>) |
Uzyskaj zlokalizowany opis ciągu bieżącego stanu symbolu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). |
IsSuppressed() |
Ta metoda umożliwia składnikowi określenie, czy zdarzenie ładowania modułu dla modułu zostało pominięte. Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3). |
IsTransitionModule() |
Zwraca wartość true, jeśli jakiekolwiek wystąpienie środowiska uruchomieniowego oznaczyło ten moduł jako moduł przejściowy. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). |
IsUserCode() |
Określa, czy moduł jest traktowany jako kod użytkownika. Ograniczenie lokalizacji: tę metodę można wywołać ze składnika IDE. Począwszy od Visual Studio 2013 Update 2, można to również wywołać ze składnika monitora dla kodu zarządzanego. W programie Visual Studio 2017 Update 8 element CallDirection interfejsu API został wykonany jako "Dwukierunkowy" z "Normalny", a teraz można go wywołać z dowolnego składnika, a element AsyncCaller został ustawiony na wartość "true", a właściwość CallerLocationConstraint została ustawiona na wartość "Brak" z elementu "NoMarshalling". Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>) |
Określa, czy moduł jest traktowany jako kod użytkownika. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: tę metodę można wywołać ze składnika IDE. Począwszy od Visual Studio 2013 Update 2, można to również wywołać ze składnika monitora dla kodu zarządzanego. W programie Visual Studio 2017 Update 8 element CallDirection interfejsu API został wykonany jako "Dwukierunkowy" z "Normalny", a teraz można go wywołać z dowolnego składnika, a element AsyncCaller został ustawiony na wartość "true", a właściwość CallerLocationConstraint została ustawiona na wartość "Brak" z elementu "NoMarshalling". Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
OnBinaryLoaded(String) |
Zgłoś zdarzenie BinaryLoaded. Składniki, które implementują interfejs ujścia zdarzeń, otrzymają powiadomienie o zdarzeniu. Kontrolka zostanie zwrócona po powiadomieniu wszystkich składników. Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM). |
OnBinaryReloadOpportunity() |
Zgłoś zdarzenie BinaryReloadOpportunity. Składniki, które implementują interfejs ujścia zdarzeń, otrzymają powiadomienie o zdarzeniu. Kontrolka zostanie zwrócona po powiadomieniu wszystkich składników. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2). |
OnModuleModified() |
Ta metoda jest wywoływana, gdy moduł ulegnie zmianie z powodu enC lub dynamicznie emitowanego kodu. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
OnSymbolsLoaded(DkmModule, Boolean) |
Ta metoda jest wywoływana przez podstawowe monitory debugowania w odpowiedzi na wywołanie elementu IDkmModuleSymbolsLoaded.RaiseSymbolsLoadedEvent. Ta metoda musi być wywoływana z wątku zdarzeń lub z wątku żądania w ramach ponownego ładowania. Podstawowe monitory debugowania powinny synchronicznie przełączyć się do wątku zdarzeń, wstrzymać proces docelowy i wywołać metodę OnSymbolsLoaded. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000). |
OnSymbolsUpdated(DkmModule) |
Zgłoś zdarzenie ModuleSymbolsUpdated. Składniki, które implementują interfejs ujścia zdarzeń, otrzymają powiadomienie o zdarzeniu. Kontrolka zostanie zwrócona po powiadomieniu wszystkich składników. |
ReadSymbols() |
Ta metoda jest wywoływana przez programy obsługi symboli w celu odczytywania symboli dla obiektów DkmModuleInstance, których symbole znajdują się w pamięci debuggee. |
RemoveDataItem<T>() |
Usuń wystąpienie elementu "T" z tego kontenera. Zwykle wywołanie tej metody jest niepotrzebne, ponieważ kontener danych zostanie automatycznie opróżniony po zamknięciu obiektu. (Odziedziczone po DkmDataContainer) |
SetDataItem<T>(DkmDataCreationDisposition, T) |
Umieść nowy element w kontenerze danych. (Odziedziczone po DkmDataContainer) |
SetDisabled(Boolean) |
Aktualizacje stan wyłączenia w module. Ta metoda może być wywoływana tylko ze zdarzenia ModuleInstanceLoad. Podczas wyłączania modułu często pomija się również zdarzenie ładowania modułu. |
SetModule(DkmModule, Boolean) |
Ta metoda jest wywoływana przez dostawcę symboli w celu skojarzenia modułu DkmModule z klasą DkmModuleInstance i wyzwolenia zdarzenia ModuleSymbolsLoaded. Może być wywoływany tylko raz dla obiektu DkmModuleInstance. Wywołanie tego interfejsu API spowoduje ustanowienie skojarzenia DkmModule-DkmModuleInstance<>, a także wywołanie zdarzenia ModuleSymbolsLoaded. |
TryLoadBinary() |
Próba załadowania pliku binarnego, który wcześniej nie może załadować przy użyciu zaktualizowanych ścieżek symboli. |
TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>) |
Próba załadowania pliku binarnego, który wcześniej nie może załadować przy użyciu zaktualizowanych ścieżek symboli. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. |
TryLoadSymbols() |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). |
TryLoadSymbols(DkmSymbolLoadFlags) |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4). |
TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>) |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). |
TryLoadSymbols(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>) |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000). Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4). |
TryLoadSymbolsCallback() |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ograniczenie lokalizacji: można to wywołać z klienta lub serwera. Implementacja serwera jest pamięcią podręczną, która zapobiega niepotrzebnym wywołaniom sieciowym. Klient przechodzi bezpośrednio do "rzeczywistej" implementacji, która gwarantuje również, że ponowne próby powrócą wcześnie. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
TryLoadSymbolsCallback(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsCallbackAsyncResult>) |
Wywoływana w celu zainicjowania ładowania symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: można to wywołać z klienta lub serwera. Implementacja serwera jest pamięcią podręczną, która zapobiega niepotrzebnym wywołaniom sieciowym. Klient przechodzi bezpośrednio do "rzeczywistej" implementacji, która gwarantuje również, że ponowne próby powrócą wcześnie. Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM). |
TryLoadSymbolsCallback177(DkmSymbolLoadFlags) |
Wywoływana w celu zainicjowania ładowania lokalnie obecnych symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ograniczenie lokalizacji: można to wywołać z klienta lub serwera. Implementacja serwera jest pamięcią podręczną, która zapobiega niepotrzebnym wywołaniom sieciowym. Klient przechodzi bezpośrednio do "rzeczywistej" implementacji, która gwarantuje również, że ponowne próby powrócą wcześnie. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
TryLoadSymbolsCallback177(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsCallback177AsyncResult>) |
Wywoływana w celu zainicjowania ładowania lokalnie obecnych symboli dla obiektów DkmModuleInstance, których symbole nie zostały znalezione podczas ładowania modułu. Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania. Ograniczenie lokalizacji: można to wywołać z klienta lub serwera. Implementacja serwera jest pamięcią podręczną, która zapobiega niepotrzebnym wywołaniom sieciowym. Klient przechodzi bezpośrednio do "rzeczywistej" implementacji, która gwarantuje również, że ponowne próby powrócą wcześnie. Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7). |
Unload() |
Oznacz obiekt Unload jako zwolniony i powiadamiaj składniki, które implementują interfejs ujścia zdarzeń. Kontrolka zostanie zwrócona po powiadomieniu wszystkich składników. Ta metoda może być wywoływana tylko przez składnik, który utworzył obiekt. |