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
Kiedy pojawia się okno błędu systemu informujące o braku pliku DLL, pojawiają się następujące pytania: jaki jest jego cel?
Pliki DLL mają podstawowy cel, redukcję kodu i zwiększenie wydajności komputera. Plik DLL to biblioteka dynamiczna, która jest używana przez wszystkie aplikacje.
Na komputerze z systemem Windows mogą wystąpić błędy, które są związane z plikami DLL. Błędy te uniemożliwiają użytkownikowi uruchomienie wymaganych przez niego programów. Na ekranie zaczynają pojawiać się komunikaty o błędach, określające dokładnie, którego pliku .DLL brakuje. Problem można rozwiązać poprzez odnalezienie konkretnego pliku i umieszczenie go w katalogu systemowym.
Pliki DLL są uważane w większości operacji użytkowania za główny czynnik błędów podczas uruchamiania i działania systemu Windows. Plik DLL nie musi być edytowany, ponieważ może powodować nowe problemy, które będą miały wpływ na wiele programów z innymi plikami DLL.
Kody w DLL są uważane za współdzielone przez procesy, które potrzebują DLL (pliki znajdują się w pamięci fizycznej).
Starsze wersje Windows, w których każdy uruchomiony proces miał jeden obszerny obszar zadań, wymagały jednej kopii kodu DLL.
Na przykład konkretne programy z załadowanej biblioteki DLL nie mają tych adresów w wolnej bazie. Wtedy należy wykonać kolejną kopię kodu DLL z bazą o unikalnym zestawie relokowalnych współczynników wejściowych. Jeśli trzeba przywrócić pamięć fizyczną, kod zajętej partycji jest resetowany wraz z zawartością i następuje szybkie przeładowanie z pliku DLL. Ponadto, GDI ładuje wszystkie inne sterowniki urządzeń, więc Windows zaczyna ładować resztę pakietów Windows, wywołując te programy API z USER/GDI.
Z tego powodu plik DLL przenosi wiele programów użytkowych naraz. Przy aktualizacji DLL do nowszej wersji, poprzednia wersja jest nadpisywana lub usuwana z komputera. ActiveX Controls, Control Panel Recordsdata i sterowniki urządzeń są podstawą danych dla Windows jako Dynamic Link Libraries.
Istnieje kilka sprawdzonych sposobów radzenia sobie z problemami z bibliotekami DLL:
Powiązane pliki wykonywalne mogą być załadowane wcześniej, jeśli uruchomisz je w podobnych ustawieniach, w jakich zostały skompilowane. Dodajmy, że każdy standardowy cel systemu Windows ma powiązane pliki DLL.
Świetną alternatywą dla wiązania importu ze środowiskiem docelowym jest uruchamianie z instalacją narzędziową. Jednak taki program zmienia wartość kontrolną pliku wykonywalnego. Późniejsze wersje Windows nie mają już adresu każdej załadowanej biblioteki, co prowadzi do znacznie mniejszego pliku wykonywalnego.
Wiele bibliotek dynamicznego linkowania ma w swoich plikach końcówkę .DLL, ale inne biblioteki używają .OCX, .CPL, .DRV. Pakiety definiujące, takie jak UPX, kompresują bibliotekę DLL, co prowadzi do problemu: sekcje kodu do odczytu i zapisu nie są oddzielone. Sekcje te przypominają niepubliczne partycje, ponieważ są prywatne w obrębie każdego procesu.
W rezultacie, biblioteki DLL z sekcjami publicznymi muszą być koniecznie nieskompresowane, gdy wiele pakietów używa ich jednocześnie. Każda instancja programu musi mieć jedną prywatną kopię biblioteki DLL.