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