Método ICLRDebuggingLibraryProvider3::P rovideWindowsLibrary
Obtém uma interface de retorno de chamada do provedor de biblioteca que permite que bibliotecas de depuração específicas do Common Language Runtime (CLR) sejam localizadas e carregadas sob demanda.
Sintaxe
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
[em] O nome do módulo que está sendo solicitado.
pwszRuntimeModule
[em] O tempo de execução ou o caminho do módulo de arquivo único.
indexType
[em] O tipo de informação de índice (dwTimestamp/dwSizeOfImage) fornecida. Veja LIBRARY_PROVIDER_INDEX_TYPE enum.
dwTimestamp
[em] O carimbo de data/hora armazenado no cabeçalho do arquivo COFF dos arquivos PE.
dwSizeOfImage
[em] O SizeOfImage
campo armazenado no cabeçalho de arquivo opcional COFF de arquivos PE.
ppResolvedModulePath
[saídas] Este é um caminho terminado nulo para a dll do módulo. No Windows, ele deve ser alocado com CoTaskMemAlloc. No Unix deve ser alocado com malloc. O fracasso deixa-o intocado. Veja a nota de segurança abaixo!
Valor devolvido
Esse método retorna os seguintes erros específicos de HRESULT, bem como HRESULT que indicam falha de método.
HRESULTADO | Description |
---|---|
S_OK |
O método foi concluído com êxito. |
Observações
ProvideWindowsLibrary
permite que o depurador forneça módulos necessários para depurar arquivos CLR específicos, como mscordbi.dll e mscordacwks.dll.
O depurador pode usar qualquer meio disponível para localizar ou adquirir o módulo de depuração.
Importante
Esse recurso permite que o chamador da API forneça módulos que contêm código executável e, possivelmente, malicioso. Como precaução de segurança, o chamador não deve usar ProvideWindowsLibrary
para distribuir qualquer código que não esteja disposto a executar.
Se um problema de segurança sério for descoberto em uma biblioteca já lançada, como mscordbi.dll ou mscordacwks.dll, o shim pode ser corrigido para reconhecer as versões incorretas dos arquivos. O shim pode então emitir solicitações para as versões corrigidas dos arquivos e rejeitar as versões incorretas se elas forem fornecidas em resposta a qualquer solicitação. Isso pode ocorrer somente se o usuário tiver corrigido para uma nova versão do shim. As versões sem patches permanecerão vulneráveis.
Requisitos
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Cabeçalho: dbgshim.h
Biblioteca: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versões do .NET: Disponível desde o .NET Core 2.1