سؤال

على Windows، تسمى نقطة إدخال DLL القياسية DLLMAIN. المعلمة الثانية هي DWORD، ul_reason_for_call.

لقد بحثت عن القيم المحتملة لهذه المعلمة الثانية على MSDN. ما يلي واضح:

DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:

لكن ماذا عن:

DLL_PROCESS_VERIFIER

متى سيتم استدعاء نقطة الدخول مع هذا العلم؟ يجب أن أشعر بالقلق بشأن ذلك أثناء التشغيل "العادي" ل DLL؟

لاحظ أنني أراها فقط DLL_PROCESS_VERIFIER في ملفات الرأس من Visual Studio 2005، وليس 2008.

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

المحلول

أعتقد أنه من الناحية النظرية يمكن أن تخترع Microsoft تلميحا جديدا وأعلام في أي وقت يشعرون بأنهم بحاجة إلى واحدة جديدة. وبالتالي فإن القاعدة البسيطة هي التأكد من أن التعليمات البرمجية تحمل القيم غير المتوقعة: أي اكتبها للتعامل مع الحالات التي تحتاجها لمعالجةها وتجاهل الباقي، عن طريق إرجاع الصفر.

نصائح أخرى

هذا غامض حقا. ليس من أي وقت مضى موثقة في SDK. ولا يظهر في ملفات رأس SDK. تنتج Google فقط عدد قليل من الزيارات، ومعظم المواقع إلى أسفل أو غير موثوق بها. الضرب اللائق الوحيد الذي أحصل عليه هو رمز Xbox، فإنه يعلن إلا أنه لا يستخدمه بالفعل.

أنا غير مقتنع بما فيه الكفاية أن هذا رمز حقيقي لاجهته في برنامج Windows العادي.

أعتقد أنه يمكن أن يكون ثم قيمة إذا تم تشغيله تطبيق التحقق. وبعد نوع التخمين :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top