ICLRDebuggingLibraryProvider::ProvideLibrary (Método)
Obtiene una interfaz de devolución de llamada del proveedor de bibliotecas que permite buscar y cargar a petición bibliotecas de depuración específicas de la versión de Common Language Runtime (CLR).
HRESULT ProvideLibrary(
[in] const WCHAR* pwszFileName,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] HMODULE* hModule);
Parámetros
pwszFilename
[in] Nombre del módulo que se está solicitando.dwTimestamp
[in] Marca de tiempo almacenada en el encabezado de archivo COFF de archivos PE.pLibraryProvider
[in] Campo SizeOfImage almacenado en el encabezado de archivo opcional COFF de archivos PE.hModule
[out] Identificador para el módulo solicitado.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.
HRESULT |
Descripción |
---|---|
S_OK |
El método se ha ejecutado correctamente. |
Comentarios
ProvideLibrary permite al depurador proporcionar módulos que son necesarios para depurar determinados archivos CLR como mscordbi.dll y mscordacwks.dll. Los identificadores de módulo tienen que seguir siendo válidos hasta que una llamada al método ICLRDebugging::CanUnloadNow indique que se pueden liberar, momento en el cual es responsabilidad del llamador liberar los identificadores.
El depurador puede usar cualquier medio disponible para buscar u obtener el módulo de depuración.
Importante |
---|
Esta característica permite al llamador de la API proporcionar módulos que contienen código ejecutable y posiblemente malintencionado.Como precaución de seguridad, el llamador no debe usar ProvideLibrary para distribuir cualquier código que no desee ejecutarse a sí mismo. Si se detecta un problema de seguridad grave en una biblioteca ya liberada, como mscordbi.dll o mscordacwks.dll, se pueden aplicar revisiones al código para reconocer las versiones no válidas de los archivos.Entonces, el código puede emitir solicitudes para las versiones revisadas de los archivos y rechazar las versiones no válidas si se proporcionan como respuesta a cualquier solicitud.Esto solo puede ocurrir si el usuario ha aplicado revisiones a una nueva versión del código.Las versiones sin revisar seguirán siendo vulnerables. |
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: 4