سلام
احتمالا GSM Modem را دیده اید که به صورت خودکار اگر مودم را به USB بزنیم .
برنامه درایور برنامه به صورت خودکار اجرا میشود . از فایل Autorun هم استفاده نمیکند !!!
چطوری برنامه را به صورت خودکار اجرا میکند ؟
سلام
احتمالا GSM Modem را دیده اید که به صورت خودکار اگر مودم را به USB بزنیم .
برنامه درایور برنامه به صورت خودکار اجرا میشود . از فایل Autorun هم استفاده نمیکند !!!
چطوری برنامه را به صورت خودکار اجرا میکند ؟
عسیسم اون یک مرحله قبل تره و هر گردی گردو نیست!!!
www.yazdkit.com
و اون کار به عهده OS شماست که ببینه این USB کارش چیه و چه نوع IO مد نظرشه . ممکنه یک اسکنر , دوربین یا حتی یک دانگل باشه...
شما باید درایور براش بنویسی چیزه دیگه ایی به ذهن من نمی رسه...
اون سایت میکرو کنترلر و این چیز هاست شما ارتباط میکرو با یو اس بی رو سرچ کنید بیشتر موضوع براتون روشن می شه ولی داخل اون سایت چندتا مقاله فارسی بدرد بخور هست..
سلام
وقتی سخت افزاری به bus وصل شد با توجه به معماری bus اگه hot-plug notification رو پشتیبانی کرد به function driver مربوط به bus خبر داده می شه .چطوری برنامه را به صورت خودکار اجرا میکند ؟
اگه شپتیبانی نشه باید یوزر خودش فعالیت لازم رو انجام بده تا باس enumerate بشه
بعد function داریور با استفاده از تابع IoInvalidateDeviceRelations به pnp manger خبر می ده که چیزی اضافه شده
بعد مراحل بعد انجام می شه و IRP های زیر فرستاده می شه :
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_ID, :
BusQueryDeviceID
BusQueryInstanceID
BusQueryHardwareIDs
BusQueryCompatibleIDs
BusQueryContainerID
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
در اخر هم WM_DEVICECHANGE فرستاده می شه و برنامه های پیام رو دریافت می کنن و اجرا می شن و... ( فکر کنم این بدرد تو بخوره :) )
نگته : به این چیزا فکر نکن سر درد می گیری :) ( اگه دوست داشتی برو بخش PNP توی WDK رو بخون )
Kernel Mode Developer
RootKitSMM@Yahoo.com