Freigeben über


ICorProfilerInfo::GetILToNativeMapping-Methode

Aktualisiert: November 2007

Ruft für den in der angegebenen Funktion enthaltenen Code eine Zuordnung von MSIL-Offsets (Microsoft Intermediate Language) zu systemeigenen Offsets ab.

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 Gesamtzahl verfügbarer COR_DEBUG_IL_TO_NATIVE_MAP-Strukturen.

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

Hinweise

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

Nachdem GetILToNativeMapping zurückgegeben wurde, müssen Sie sicherstellen, dass der map-Puffer groß genug war, um alle COR_DEBUG_IL_TO_NATIVE_MAP-Strukturen aufzunehmen. 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.

Sie können auch zunächst GetILToNativeMapping mit einem map-Puffer der Größe 0 (null) aufrufen, um die richtige Puffergröße zu ermitteln. Anschließend können Sie die Puffergröße auf den Wert festlegen, der von pcMap zurückgegeben wurde, und GetILToNativeMapping erneut aufrufen.

Weitere Informationen über diese beiden Ansätze finden Sie unter Vom Aufrufer reservierte Puffer.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICorProfilerInfo

Weitere Ressourcen

Profilerstellungsschnittstellen

Profilerstellung (Referenz zur nicht verwalteten API)