فایل‌های Ntdll.dll و Advapi32.dll و Gdi32.dll سه مورد از فایل‌های سیستمی ویندوز هستند که در ویندوز ۷ و ۸ و همین‌طور ویندوز ۱۰ به کار می‌روند. محتویات این فایل‌های DLL، تعدادی تابع است اما مثل فایل‌های EXE، نرم‌افزاری را اجرا نمی‌کنند بلکه توسط دیگر نرم‌افزارها مورداستفاده قرار می‌گیرند.

در این مقاله به معرفی کاربرد فایل DLL و همین‌طور چیستی سه فایل DLL مذکور می‌پردازیم.

آشنایی با فایل DLL و کاربرد آن

فایل‌های DLL یا Dynamic Linked Library، حاوی توابعی هستند که کاربردهای مختلفی دارند و در واقع اینکه کارایی یک فایل DLL چیست، نیازی به گوگل کردن و بررسی تخصصی دارد. این فایل‌ها مستقل از نرم‌افزار دیگری اجرا نمی‌شوند بلکه توسط نرم‌افزار دیگری مورد استفاده قرار می‌گیرند. لذا با حذف شدن یک فایل DLL از فولدر نصب یک نرم‌افزار یا فولدر فایل‌های سیستمی ویندوز، ممکن است بخش‌هایی از نرم‌افزار کار نکند و حتی ممکن است حین اجرا کردن نرم‌افزار، پیام خطا نمایان شود و نرم‌افزار به کلی اجرا نشود. علت روشن است: نرم‌افزار در شروع به کار به برخی توابع موجود در فایل حذف شده نیاز داشته است.

نکته‌ی دیگر این است که گاهی فایل DLL مستقل از برنامه‌ی اصلی بروزرسانی و منتشر می‌شود. به عنوان مثال در نرم‌افزاری که کار آن کانورت کردن ویدیو است، اینکودرهای مختلفی به کار می‌رود. ممکن است برخی از اینکودرها به شکل فایل DLL و مستقل از نرم‌افزار تبدیل ویدیو بروزرسانی و منتشر شوند. طبعاً با این راهکار ساده، بروزرسانی کردن اینکودر و بهینه‌سازی آن، ساده‌تر می‌شود چرا که نیازی به بروزرسانی کامل نرم‌افزار اصلی نیست.

سیستم عامل ویندوز و در واقع همه‌ی سیستم عامل‌ها ممکن است از توابعی که در تعدادی فایل DLL قرار گرفته، استفاده کنند. برخی از فایل‌های DLL، فایل‌های سیستمی ویندوز محسوب می‌شوند و لذا اگر فایل به دلیل خرابی هارددیسک یا SSD، ناقص شود یا توسط یک بدافزار و ویروس مخرب، دستکاری شود، ویندوز به درستی عمل نمی‌کند. طبعاً نباید این فایل‌ها را با روش‌های مختلف حذف کرد!

در صورت خرابی فایل‌های سیستمی ویندوز، می‌بایست با اجرا کردن دستور SFC یا DISM، تعمیرات را انجام دهید.

فایل Ntdll.dll چیست؟

نام این فایل مخفف NT Layer DLL است. این فایل حاوی توابع هسته‌ی ویندوز است و معمولاً در مسیر زیر قرار دارد:

C:\Windows\System32

در این فایل بیش از ۲۵۰۰ تابع و متغیر قرار دارد! توابع مختلف شامل Native API و ابزارهای CSR، رهگیری رویدادها، بارگذاری‌کننده‌ی توابع، بارگذاری‌کننده‌ی فایل‌های شروع و کتابخانه‌های محیط اجرا و بسیاری دیگر در این DLL قرار دارد. دقت کنید که این فایل یک ویروس و تهدید امنیتی و باج‌افزار نیست بلکه یک فایل سیستمی مهم است و نباید به هیچ عنوان حذف شود. 

فایل Advapi32.dll چیست؟

نام این فایل مخفف عبارت Advanced Application Programming Interface 32-bit است و یکی از فایل‌های واسط برنامه‌نویسی برنامه‌های ۳۲ بیتی برای ویندوز محسوب می‌شود، درست مثل kernel32.dll و advapi32.dll و ntdll.dll که دیگر فایل‌های API یا واسط برنامه‌نویسی هستند.

فایل Advapi32.dll از فراخوانی‌های امنیتی و رجیستری پشتیبانی می‌کند. به علاوه در نسخه‌ی ۵ به بعد، پیگیری رویدادها نیز پشتیبانی شده است.

فایل Gdi32.dll چیست؟

نام این فایل مخفف Graphics Device Interface 32-bit و به معنی واسط ۳۲ بیتی دیوایس پردازش گرافیک است. در این فایل توابعی وجود دارد که واسط دیوایس پردازش گرافیک یا به اختصار GDI ویندوز از آن استفاده می‌کند تا با استفاده از پردازنده‌ی گرافیکی، متن و گرافیکی را روی صفحه نمایش دهد.

برنامه‌های زیادی ممکن است از این فایل DLL برای ارسال دستورات به سخت‌افزار پردازش گرافیک برای اعمالی مثل ترسیم اشکال و کار با فونت‌ها استفاده می‌کنند. البته این فایل مختص اپلیکیشن‌های ۳۲ بیتی است. برنامه‌های ۶۴ بیتی نیز به GDI خاصی نیاز دارند.

در صورت خرابی فایل Gdi32.dll، هر نرم‌افزاری که حین اجرا به آن نیاز داشته باشد، با مشکل مواجه می‌شود و پیام نبود فایل GDI32.dll در سیستم نمایش داده می‌شود. در این حالت باید فایل را تعمیر کرد یا نرم‌افزار را از نو نصب کرد.

در صورت خرابی فایل‌های اشاره شده، توجه کنید که مسیر این فایل‌ها فولدرهای System32 یا SysWOW64 در فولدر نصب ویندوز است و می‌بایست با دستور SFC یا DISM اسکن و تعمیر شوند. اگر اطمینان دارید که یکی از این فایل‌ها خراب است، می‌توانید از طریق سیستم عامل‌های لایو یا بدون نصب، به فولدر ویندوز دسترسی پیدا کرده و یک کپی سالم از این فایل‌ها را پیست و جایگزین کنید.