سؤال

مرحبًا ، أحاول الاتصال بوظيفة VirtualQueryex للحصول على بعض المعلومات حول حماية الذاكرة ، ومع ذلك فإن الكود الخاص بي يعطيني خطأ 0x18 (error_bad_length) ولا أعرف ما هو الخطأ في الكود الخاص بي ؛

قصاصة الكود:

pmemory_basic_information alte ؛

VirtualQueryex (ProcessHandle ، (lpvoid) (العنوان) ، alte ، sizeof (pmemory_basic_information)) ؛

شكرا لمساعدتك

هل كانت مفيدة؟

المحلول

يحتاج Alte إلى الإعلان باسم Memory_Basic_Information وليس مؤشرًا إلى واحد.

MEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(MEMORY_BASIC_INFORMATION));

تحرير: لاحظ حجمها (memory_basic_information) وليس حجمها (pmemory_basic_information).

في الواقع ، من الأفضل كتابة هذا على أي حال

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(alte));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top