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