Partilhar via


Método ICLRDebuggingLibraryProvider::P rovideLibrary

Obtém uma interface de chamada de retorno do fornecedor de bibliotecas que permite que bibliotecas de depuração específicas de versões do runtime de linguagem comum (CLR) sejam localizadas e carregadas a pedido.

Sintaxe

HRESULT ProvideLibrary(
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] HMODULE* hModule);

Parâmetros

pwszFilename
[in] O nome do módulo que está a ser pedido.

dwTimestamp
[in] O carimbo de data/hora armazenado no cabeçalho do ficheiro COFF dos ficheiros PE.

dwSizeOfImage
[in] O SizeOfImage campo armazenado no cabeçalho de ficheiro opcional COFF de ficheiros PE.

hModule
[fora] A alça para o módulo pedido.

Devolver Valor

Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.

HRESULT Description
S_OK O método foi concluído com êxito.

Exceções

Observações

ProvideLibrary permite que o depurador forneça módulos necessários para depurar ficheiros CLR específicos, como mscordbi.dll e mscordacwks.dll. Os identificadores do módulo têm de permanecer válidos até que uma chamada para o método ICLRDebugging::CanUnloadNow indique que podem ser libertados, altura em que é da responsabilidade do autor da chamada libertar as alças.

O depurador pode utilizar quaisquer meios disponíveis para localizar ou obter o módulo de depuração.

Importante

Esta funcionalidade permite que o autor da chamada à API forneça módulos que contenham código executável e possivelmente malicioso. Como precaução de segurança, o autor da chamada não deve utilizar ProvideLibrary para distribuir qualquer código que não esteja disposto a executar sozinho.

Se for detetado um problema de segurança grave numa biblioteca já lançada, como mscordbi.dll ou mscordacwks.dll, o shim pode ser corrigido para reconhecer as versões incorretas dos ficheiros. Em seguida, o shim pode emitir pedidos para as versões corrigidas dos ficheiros e rejeitar as versões incorretas se forem fornecidas em resposta a qualquer pedido. Isto só pode ocorrer se o utilizador tiver corrigido para uma nova versão do shim. As versões sem correspondência continuarão vulneráveis.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

.NET Framework Versões: Disponível desde 4

Ver também