Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Obtém uma interface de retorno de chamada do provedor de biblioteca que permite que bibliotecas de depuração específicas de versão do CLR (Common Language Runtime) 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
[in] O nome do módulo que está sendo solicitado.
pwszRuntimeModule
[in] O caminho do módulo de runtime ou de arquivo único.
indexType
[in] O tipo de informação de índice (dwTimestamp/dwSizeOfImage) fornecido. Veja LIBRARY_PROVIDER_INDEX_TYPE enumeração.
dwTimestamp
[in] O carimbo de data/hora armazenado no cabeçalho do arquivo COFF dos arquivos PE.
dwSizeOfImage
[in] O SizeOfImage campo armazenado no cabeçalho de arquivo opcional COFF dos arquivos PE.
ppResolvedModulePath
[out] Esse é um caminho encerrado nulo para a dll do módulo. No Windows, ele deve ser alocado com CoTaskMemAlloc. No Unix, ele deve ser alocado com malloc. Falha deixa-o intocado. Veja a observação de segurança abaixo!
Valor de retorno
Esse método retorna o HRESULT específico a seguir, bem como erros HRESULT que indicam falha de método.
| HRESULT | Descrição |
|---|---|
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 mal-intencionado. 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 sozinho.
Se um problema sério de segurança for descoberto em uma biblioteca já lançada, como mscordbi.dll ou mscordacwks.dll, o shim poderá ser corrigido para reconhecer as versões incorretas dos arquivos. O shim poderá 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 só poderá ocorrer se o usuário tiver corrigido o patch para uma nova versão do shim. As versões sem correspondência permanecerão vulneráveis.
Requisitos
Plataformas: Consulte sistemas operacionais com suporte do .NET.
Cabeçalho: dbgshim.h
Biblioteca: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versões do .NET: Disponível desde o .NET Core 2.1