Compartir vía


ICorProfilerInfo4::GetCodeInfo3 (Método)

Obtiene las extensiones de código nativo asociadas con la versión recompilada con JIT de la función especificada.

Sintaxis

HRESULT GetCodeInfo3(  
    [in]  FunctionID functionID,  
    [in]  ReJITID reJitId,  
    [in]  ULONG32 cCodeInfos,  
    [out] ULONG32 *pcCodeInfos,  
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]  
    COR_PRF_CODE_INFO codeInfos[]);  

Parámetros

functionID
[in] Identificador de función con la que está asociado el código nativo.

reJitId
[in] Identidad de la función recompilada con JIT.

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 GetCodeInfo3 es similar al método GetCodeInfo2, con la diferencia de que el primero puede usarse para obtener el id. que se haya vuelto a compilar con JIT de la función en la que se almacene la dirección IP que se especifique.

Nota

Al usar el método GetCodeInfo3, se puede desencadenar un proceso de recolección de elementos no utilizados, mientras que con el método GetCodeInfo2 esto no ocurre. Para obtener más información, consulte el valor HRESULT CORPROF_E_UNSUPPORTED_CALL_SEQUENCE.

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

Una vez que el método GetCodeInfo3 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 GetCodeInfo3.

También tiene la opción de llamar primero a GetCodeInfo3 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 GetCodeInfo3.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: disponible a partir de la versión 4.5

Consulte también