سؤال

لدي بعض رمز C # الذي يدعو CreateFile على مسار جهاز مادي مختلف في كل مرة من خلال حلقة (أي . InstalyDrive1، ثم . InstalyDrive2، ... عبر Pinvoke ثم استخدام المقبض الذي تم إرجاعه الاشياء ويندوز. في نهاية الحلقة، يستدعي Closehandle على المقبض.

أثناء تصحيح الأخطاء، لاحظت أن القيمة INT للمقبض كانت هي نفسها تمر عبر الحلقة. أستطيع أن أرى أن يتم إما المتوقع (Windows فقط إعادة استخدام المقبض) أو غير متوقع (لم يتم إصدار المقبض آخر مرة).

لذلك أريد فقط التحقق مما إذا كان هذا متوقعا (أو على الأقل غير صحيح) سلوكا.

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

المحلول

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

كن على علم بأن هذا هو التنفيذ المحدد ويمكن أن يتغير مع أي إصدار جديد أو حزمة خدمة أو QFE.

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