Compartir a través de


Método ICLRDebuggingLibraryProvider3::P rovideWindowsLibrary

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 ProvideWindowsLibrary (
     [in] const WCHAR* pwszFileName,
     [in] const WCHAR* pwszRuntimeModule,
     [in] LIBRARY_PROVIDER_INDEX_TYPE indexType,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] LPWSTR* ppResolvedModulePath);

Parámetros

pwszFilename
[in] Nombre del módulo que se está solicitando.

pwszRuntimeModule
[in] Ruta de acceso del módulo runtime o de un solo archivo.

indexType
[in] Tipo de información de índice (dwTimestamp/dwSizeOfImage) que se proporciona. Consulte la enumeración LIBRARY_PROVIDER_INDEX_TYPE.

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.

ppResolvedModulePath
[out] Se trata de una ruta de acceso finalizada NULL al archivo dll del módulo. En Windows, se debe asignar con CoTaskMemAlloc. En Unix, se debe asignar con malloc. Si se produce un error, lo deja intacto. Consulte la nota de seguridad siguiente.

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.

Comentarios

ProvideWindowsLibrary permite que el depurador proporcione módulos necesarios para depurar archivos CLR específicos, como mscordbi.dll y mscordacwks.dll.

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 ProvideWindowsLibrary 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: consulte Sistemas operativos compatibles con .NET.

Encabezado: dbgshim.h

Biblioteca: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

Versiones de .NET: disponible a partir de .NET Core 2.1