Windows Performance Data Helper DLL
PDH UI
Microsoft PowerPoint PDI Graph Converter
Process Debug Manager
PDProxy VPN Tunnel Engine
priPrinter Library
PEEK Driver API (ASCII and UNICODE)
BranchCache Client Library
BranchCache AD Interface
BranchCache Export CacheMgr Provider
BranchCache Cache Cleaner
BranchCache HTTP Tansport
BranchCache Netshell Helper
BranchCache Service
BranchCache WSD Discovery Provider
Shockwave Flash 29.0 r0
DISM Windows PE Provider
Performance Center
Performance Counters
Windows Disk Performance Objects DLL
Windows Network Service Performance Objects DLL
Client Service for Netware Counters
Windows System Performance Objects DLL
Windows System Process Performance Objects DLL
Microsoft Performance PerfTrack
Windows Remote Desktop Services Performance Objects
PFCLNT SQL Server Profiler DLL
CD/DVD premastering toolkit for Win32
ICC Profile Picker
Plot Graphic Library DLL
Microsoft® Profile Guided Optimization Instrumentation Runtime
PromulGate SDK
KS Proxy Plugin
Macrovision Plugin
Photo Metadata Handler
Photon Bridge
Corel PHOTOPAINT(R) (64Bit)
Photoshop Resource DLL
Windows Photo Viewer
Photo Printing Wizard
php_apc.dll
cURL
Quando se obtém uma janela de erro do sistema dizendo que falta um ficheiro DLL, surgem as seguintes questões: qual é o seu objectivo
Os ficheiros DLL têm um propósito fundamental, reduzir o código e aumentar o desempenho do computador. Um ficheiro DLL é uma biblioteca dinâmica que é utilizada por todas as aplicações
Podem ocorrer erros num PC Windows que esteja associado a ficheiros DLL. Estes erros impedem o utilizador de executar os seus programas requeridos. As mensagens de erro começam a aparecer no ecrã, especificando exactamente que ficheiro .DLL está em falta. O problema pode ser resolvido encontrando o ficheiro específico e colocando-o no directório do sistema
Os ficheiros DLL são considerados na maioria das operações de utilização como sendo o principal factor de erros quando o Windows arranca e corre. Um ficheiro DLL não precisa de ser editado porque pode causar novos problemas que irão afectar muitos programas com outros ficheiros DLL
Os códigos numa DLL são considerados como partilhados pelos processos que necessitam da DLL (os ficheiros estão na memória física)
Versões mais antigas do Windows, onde cada processo em execução tinha uma extensa área de tarefas, exigia uma cópia do código DLL.
Por exemplo, programas específicos de uma DLL carregada não têm estes endereços numa base livre. Então é necessário fazer outra cópia do código da DLL com uma base de um conjunto único de coeficientes de entrada relocalizáveis. Se a memória física precisar de ser restaurada, o código da partição ocupada é reiniciado juntamente com o conteúdo, e é feita uma rápida recarga a partir do ficheiro DLL. Além disso, o GDI carrega todos os outros drivers de dispositivos, pelo que o Windows começa a carregar o resto dos pacotes do Windows, chamando a estes programas API de USER/GDI
Devido a isto, o ficheiro DLL transporta muitos utilitários de uma só vez. Com actualizações de DLL para uma versão moderna, a versão anterior é sobreescrita ou apagada do PC. Os controlos ActiveX, os registos do painel de controlo e os drivers de dispositivos são a base de dados para o Windows como bibliotecas de ligações dinâmicas
Existem várias formas comprovadas de lidar com problemas de DLL:
Os ficheiros executáveis relacionados podem ser carregados mais cedo se os executar em configurações semelhantes às que foram compiladas. Acrescentemos que cada alvo padrão do Windows tem ficheiros DLL associados
Uma grande alternativa para ligar a importação ao ambiente alvo é arrancar com uma instalação de utilitário. Mas um programa deste tipo altera o valor de verificação do executável. As versões posteriores do Windows já não têm o endereço de cada biblioteca carregada, o que leva a um executável muito mais pequeno
Muitas bibliotecas de ligação dinâmica têm um .DLL que termina nos seus ficheiros, mas outras bibliotecas utilizam .OCX, .CPL, .DRV. Os pacotes de definição, tais como UPX comprimem a DLL, o que leva a um problema: as secções de código de leitura e escrita não são separadas. Estas secções assemelham-se a partições não públicas porque são privadas dentro de cada processo
Como resultado, as DLLs com secções públicas devem necessariamente ser descomprimidas quando vários pacotes as utilizam simultaneamente. Cada instância do programa deve ter uma cópia privada das DLLs