كيفية تحديد ما إذا كان محرك أقراص محرك أقراص RAM

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

113418
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
لا توجد أية وظائف لغة C أو C. دالات وقت التشغيل لتحديد ما إذا كان محرك أقراص محرك أقراص RAM. قد يتم استدعاء API GetDriveType() بواسطة تطبيقات Win32 الحصول على نوع محرك أقراص معين من نظام التشغيل. قد يتم العثور على مزيد من المعلومات حول GetDriveType() في مرجع SDK Win32 من Visual C++ 32بت Edition المباشرة.

لـ MS-DOS وتطبيقات Win16 على الرغم من أنه لا تتوفر أية أساليب definitive ، توجد عدة طرق يمكن لتحديد "أن محرك أقراص محدد قد يكون" أقراص RAM. سيتم بشكل موجز تناقش باقي المقالة كل من أربعة أساليب للتحقق من وجود محرك أقراص RAM. لاحظ أن كافة أساليب لكل محرك أقراص النظام المضيف يجب التحقق.
معلومات أخرى

الطريقة الأولى

تحقق من تسمية وحدة التخزين الخاصة بمحرك الأقراص. هذا الأسلوب هو من المحتمل أن يكون الأكثر شيوعاً. يستخدم RAMDRIVE.SYS Microsoft تسمية وحدة تخزين من "MS - RAMDRIVE". على الرغم من ذلك، هذا ولا يُضمن أن تكون تسمية وحدة التخزين كما من المحتمل أن لا تكون تسمية وحدة التخزين على محركات الأقراص RAM من شركات أخرى. مستخدم قد أيضاً تغيير ذلك عن طريق استخدام الأمر label.

الطريقة الثانية

الاتصال بالمقاطعة h 21 0Dh subfunction 44 h دالة والذي وظيفة تحكم I/O عام لأجهزة كتلة. تعتمد معظم الأجهزة هذه الدالة. ومع ذلك، RAMDRIVE.SYS حالياً لا يعتمدها. يمكن استخدام هذا بسبب نقص الدعم لتعريف أقراص RAM. تحميل تسجيل CX مع 0860h الحصول على معلمات جهاز محرك الأقراص; إذا فشل الدالة ترك تعيين إشارة يحمل محرك الأقراص قد يكون محرك أقراص RAM.

الطريقة الثالثة

تحقق من عدد الجداول FAT على محرك الأقراص; إذا له 1 فقط فمن المحتمل أن يكون محرك أقراص RAM. بسبب عدم اعتماد RAMDRIVE.SYS IOCTL الدالات، الطريقة الوحيدة لتحديد عدد الجداول FAT استخدام 25 INT مطلق القرص القراءة. دوّن التحذيرات التي تم استبدالها هذه الدالة ثم غير معتمد تحت Windows. لمزيد من المعلومات "و" نموذج يوضح كيف يتم استخدام 25 INT "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
102870قراءة قطاع التمهيد من محرك أقراص

الطريقة الرابعة

وأخيراً، subfunction استدعاء الدالة h مقاطعة 21 44 h h 09 للتحقق ما إذا كان محرك الأقراص البعيد. إذا كانت القيمة التي تم إرجاعها في DX 0x0800 الحاجة بت فقط على مجموعة 11 محرك الأقراص قد يكون محرك أقراص RAM. يُعرف أن محرك أقراص RAM بواسطة deduction. لأن مسح بت 6 و 7 المعروف عنه لا يقبل هذا الجهاز IOCTL الدالات، مثل معظم الأجهزة. لأن مسح بت 12 هذا ليس محرك أقراص الشبكة وهكذا.

لأنه يتم ضمان أي أسلوب من أساليب أعلاه من الأفضل استخدام تركيبة من هذه الأساليب. أولاً إزالة واضحة, مثل محركات أقراص الشبكة ، محركات الأقراص الثابتة المحلي, محركات الأقراص المضغوطة وما. ثم حاول تحديد ما إذا كان محرك أقراص محدد محرك أقراص RAM.
الكشف عن البحث

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 113418 - آخر مراجعة: 02/28/2014 07:54:45 - المراجعة: 4.1

  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbmt kbhowtomaster kblangc KB113418 KbMtar
تعليقات