Compartir a través de


Método ICorProfilerInfo9::GetCodeInfo4

Si proporciona la dirección de inicio de un código nativo, este método puede usarse para obtener los bloques de memoria virtual donde se almacena este código.

Sintaxis

HRESULT GetCodeInfo4( [in]  UINT_PTR pNativeCodeStartAddress,
                      [in]  ULONG32 cCodeInfos,
                      [out] ULONG32* pcCodeInfos,
                      [out] COR_PRF_CODE_INFO codeInfos[]);

Parámetros

pNativeCodeStartAddress
[in] Un puntero al inicio de una función nativa.

cCodeInfos
[in] Tamaño de la matriz codeInfos.

pcCodeInfos
[out] El valor de este parámetro se corresponde con un puntero que apunta al número total de estructuras COR_PRF_CODE_INFO que están disponibles.

codeInfos
[out] Búfer proporcionado por el llamador. Después de que el método vuelva, contiene una matriz de estructuras COR_PRF_CODE_INFO, cada una de las cuales describe un bloque de código nativo.

Comentarios

El método GetCodeInfo4 es similar al método GetCodeInfo3, con la excepción de que también puede buscar información de código que pertenezca a diferentes versiones nativas de un método.

Nota

El método GetCodeInfo4 puede desencadenar un proceso de recolección de elementos no utilizados.

Las extensiones se clasifican en orden creciente de desplazamiento de Common Intermediate Language (CIL).

Una vez que el método GetCodeInfo4 devuelva sus valores, deberá comprobar que el búfer del parámetro codeInfos haya sido lo suficientemente grande como para contener todas las estructuras COR_PRF_CODE_INFO que estaban disponibles. Para ello, compare el valor de cCodeInfos con el valor del parámetro cchName. Si al dividir el valor del parámetro cCodeInfos entre el tamaño de una estructura COR_PRF_CODE_INFO obtiene un valor menor que el del parámetro pcCodeInfos, asigne un búfer mayor para el parámetro codeInfos y actualice el parámetro cCodeInfos con el nuevo tamaño de dimensiones, que será mayor. A continuación, vuelva a llamar al método GetCodeInfo4.

También tiene la opción de llamar primero a GetCodeInfo4 con un búfer codeInfos de longitud de cero para obtener el tamaño de búfer correcto. Después, podrá establecer el tamaño del búfer del parámetro codeInfos con el valor que obtenga al multiplicar el valor que se devuelve en el parámetro pcCodeInfos por el tamaño de una estructura COR_PRF_CODE_INFO. A continuación, vuelva a llamar al método GetCodeInfo4.

Requisitos

Plataformas: consulte Sistemas operativos compatibles con .NET.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET: está disponible desde la versión 2.1 de .NET Core

Consulte también