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