Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 de retorno
Esse método retorna os seguintes erros específicos de HRESULT, bem como HRESULT que indicam falha de método.
| HRESULTADO | 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, 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.
Requerimentos
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Cabeçalho: dbgshim.h
Biblioteca: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versões .NET: Disponível desde: .NET Core 2.1