PDA

View Full Version : محدودیت تخصیص حافظه



greenway
چهارشنبه 24 مرداد 1386, 00:00 صبح
من مجبورم که IRP_MJ_READ رو براش Dispatch بنویسم. توش باید یک بافر به اندازه


IrpSp->Parameters.Read.Length
بگیرم... اما به نظر میرسه که محدودیتی در اندازه حافظه در ExAllocatePool وجود داره ، اولا چطور میشه مقدار این محدودیت رو بدست آورد ؟ ثانیا ، اینجای سیستم عامل، چه راه حل جایگزینی براش پیشنهاد میکنید ، اصلا جایگزین داره ؟
فعلا برای اندازه های بزرگ خطای C00000E8 STATUS_INVALID_USER_BUFFER رو دارم. توی DejaNews هم گشتم ، چند نفر این مشکل رو داشتند اما بی جواب مونده‌ بود.

Inprise
چهارشنبه 24 مرداد 1386, 02:01 صبح
اما به نظر میرسه که محدودیتی در اندازه حافظه در ExAllocatePool وجود داره ، اولا چطور میشه مقدار این محدودیت رو بدست آورد ؟وقتی به حداکثر اندازه باینری که که لودر میتونه تحمل کنه فکر میکردم اینو دیده بودم سوالت رو که دیدم به نظرم رسید جوابش همینه :

http://msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/default.aspx


چه راه حل جایگزینی براش پیشنهاد میکنید ، اصلا جایگزین داره ؟PAE رو به همین دلیل معرفی کردن . شاید یکی خواست که 10 گیگ حافظه non-paged بیخ گوش کرنل Allocate کنه ، کی میدونه ...

illegalyasync
چهارشنبه 24 مرداد 1386, 15:48 عصر
با فعال بودن PAE میشه اون محدودیت رو با گرفتن حافظه فیزیکی برداشت اما اندازه خوب درایور چی ؟ اگه 20 گیگ مموری داشته باشیم و سیستم pae enabled باشه یه درایور یه گیگابایتی رو میشه load کرد ؟

greenway
چهارشنبه 24 مرداد 1386, 15:53 عصر
خوب من این مشکل رو پیدا کردم ، اشکال از نحوه ارسال IRP به لایه پایینی بود. برای کاری که می خواستم انجام بدم باید از متد Synchronous استفاده میکردم. دیگه اینکه چند بار BSOD تا بفهمم بماند.
دو تا Article مرتبط با این موضوع توی پشتیبانی مایکروسافت هست :



Article ID : 326315
Article ID : 320275

من از سناریوی 2 استفاده کرده بودم که باید به سناریوی 8 یا 9 تغییر بدم. تازه جای کد هم توی متد 2 غلط بود.

موضوع PAE هم جالب بود من نمیدونستم ، اما اشکالش این هست که باید Boot.ini رو دستکاری کرد.

illegalyasync
جمعه 02 شهریور 1386, 10:44 صبح
آقا بیا در مورد این ماجرای pae توضیح بده !
اما بعد
کاربر babk869 برای چی از همه نوشته ها تشکر میکنه ؟ سوالی که من پرسیدم چرا باید ازش تشکر بشه ؟ اینطوری که دیدم راه افتاده از همه چی تشکر کرده ! تو سایت برنامه نویس برای تشکر کردن مایه تیله ای چیزی داده میشه ؟ اعلام کنین که ما هم دست بکار بشیم خوب :D