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).
Sintaxis
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 fecha y hora almacenada en el encabezado de archivo COFF de archivos PE.
dwSizeOfImage
[in] Campo SizeOfImage
almacenado en el encabezado de archivo opcional COFF de archivos PE.
hModule
[out] Identificador del módulo solicitado.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos y los errores HRESULT que indican un error del método.
HRESULT | Descripción |
---|---|
S_OK | El método se completó correctamente. |
Excepciones
Notas
ProvideLibrary
permite que el depurador proporcione módulos necesarios para depurar archivos CLR específicos, como mscordbi.dll y mscordacwks.dll. Los identificadores del módulo deben permanecer válidos hasta que una llamada al método ICLRDebugging::CanUnloadNow indica que se pueden liberar, en cuyo momento es responsabilidad del autor de la llamada liberar los identificadores.
El depurador puede usar cualquier medio disponible para buscar o adquirir el módulo de depuración.
Importante
Esta característica permite que el autor de la llamada API proporcione módulos que contienen código ejecutable y posiblemente malintencionado. Como precaución de seguridad, el autor de la llamada no debe usar ProvideLibrary
para distribuir ningún código que no esté dispuesto a ejecutarse por sí mismo.
Si se detecta un problema de seguridad grave en una biblioteca ya publicada, como mscordbi.dll o mscordacwks.dll, se puede aplicar una revisión a la corrección de compatibilidad (shim) para que reconozca las versiones incorrectas de los archivos. A continuación, las correcciones de compatibilidad pueden emitir solicitudes para las versiones revisadas de los archivos y rechazar las versiones incorrectas si se proporcionan en respuesta a cualquier solicitud. Esto solo puede ocurrir si el usuario ha revisado una nueva versión de la corrección de compatibilidad. Las versiones sin revisar seguirán siendo vulnerables.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 4