ورود

View Full Version : سوال: نوشتن درایور برای FileSystem Monitor برای همه نسخه های ویندوز



maarek
چهارشنبه 23 خرداد 1397, 01:50 صبح
سلام،
من لازم دارم یه درایور بنویسم که فعالیت های FileSystem و هوک کنه یعنی اگه فایل ساخته شد یا پاک شد و اینا من با استفاده از این داریور مطلع بشم.
مشکل اینجاست که این درایور باید توی همه نسخه های ویندوز کار بکنه ! اصلا همچنین چیزی امکان پذیره؟
معماری سیستم عامل هم در نوشتن درایور موثر هست؟ یعنی باید دو درایور جداگانه نوشته بشه؟

ممنون میشم راهنماییم کنید

farhad_shiri_ex
چهارشنبه 23 خرداد 1397, 02:58 صبح
منظورتون از درایور چی؟
اگر منظور تون ارتباط با پروسس های ویندوز و دریافت اطلاعات رد و بدل شده بین ویندوز و پردازشگر هست که بله باید از Windows Message Handler استفاده کنید.
اید با Windows Message Handler این کار انجام بدید این کتابخانه این امکان را داره تمامی Message های ارسالی به پردازشگر را کنترل کنید در سطح سیستم عامل.
کافی Event که مد نظرتون هست رجیستر کنید بعد به محض اتفاق رویداد به هندل ویندو شما یه پاسخ ارسال میکنه.!
باید از این تابع ها استفاده کنید
1- SHChangeNotifyDeregister IN shell32
2- CallWindowProc(this->nOldProc, hWnd, msg, wParam, lParam)
تقریبا تمامی پیغام های سیستم عامل را می تونید کنترل کنید مثلا یک درایو و فولدر تو یک درایو تحت نظر بگیرید هر عملیات I/O تو اون فولدر اتفاق بیوفته به شما می تونه پیغام بده که چه اتفاقی افتاده فایل حذف شده ویا فایل ویرایش شده...
برای شروع هم اینجارو ببنید https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

من قبلا برنامه ای نوشته بودم که کارش مانتیور کردن فایلها بود تحت شبکه محلی که بعضی از فایلها که مجبور بودیم بهش دسترسی فول بدیم کاربری اونها را حذف ویا تغییر نام و ... نتونه بده.!

maarek
چهارشنبه 23 خرداد 1397, 19:34 عصر
منظورم Device Driver هست.