Freigeben über


ICorProfilerInfo::GetILToNativeMapping-Methode

Ruft eine Zuordnung von allgemeinen CIL-Offsets (Common Intermediate Language) zu systemeigenen Offsets für den Code ab, der in der angegebenen Funktion enthalten ist.

Syntax

HRESULT GetILToNativeMapping(
    [in] FunctionID functionId,
    [in] ULONG32 cMap,
    [out] ULONG32 *pcMap,
    [out, size_is(cMap), length_is(*pcMap)]
        COR_DEBUG_IL_TO_NATIVE_MAP map[]);

Parameter

functionId [in] Die ID der Funktion, die den Code enthält.

cMap [in] Die maximale Größe des map Arrays.

pcMap [out] Die Gesamtanzahl der verfügbaren COR_DEBUG_IL_TO_NATIVE_MAP Strukturen.

map [out] Ein Array von COR_DEBUG_IL_TO_NATIVE_MAP Strukturen, von denen jeder die Offsets angibt. Nach Rückgabe der GetILToNativeMapping-Methode enthält map einige oder alle COR_DEBUG_IL_TO_NATIVE_MAP-Strukturen.

Bemerkungen

Die GetILToNativeMapping-Methode gibt ein Array von COR_DEBUG_IL_TO_NATIVE_MAP-Strukturen zurück. Zur Übermittlung der Information, dass bestimmte Bereiche nativer Anweisungen besonderen Codebereichen entsprechen (beispielsweise dem Prolog), kann das Feld ilOffset für einen Eintrag im Array auf einen Wert der CorDebugIlToNativeMappingTypes-Enumeration festgelegt sein.

Nachdem GetILToNativeMapping ausgeführt ist, müssen Sie sich vergewissern, dass der map-Puffer groß genug war, um alle COR_DEBUG_IL_TO_NATIVE_MAP-Strukturen zu enthalten. Vergleichen Sie hierzu den Wert von cMap mit dem Wert des pcMap-Parameters. Wenn der pcMap-Wert nach Multiplikation mit der Größe einer COR_DEBUG_IL_TO_NATIVE_MAP-Struktur größer als cMap ist, weisen Sie einen größeren map-Puffer zu, aktualisieren Sie cMap mit der neuen Größe, und rufen Sie GetILToNativeMapping erneut auf.

Alternativ können Sie zuerst GetILToNativeMapping mit einem map-Puffer der Länge 0 (NULL) aufrufen, um die richtige Puffergröße zu ermitteln. Sie können die Puffergröße dann auf den Wert festlegen, der von pcMap zurückgegeben wurde, und GetILToNativeMapping erneut aufrufen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch