Как определить, является ли устройство Электронного диска

Переводы статьи Переводы статьи
Код статьи: 113418 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

В этой статье

Аннотация

Нет функций языка C и функций на языке C времени выполнения для определения, является ли устройство Электронного диска. API-Интерфейс GetDriveType() может быть вызвана приложениями Win32 для получения типа определенного диска в операционной системе. Дополнительные сведения можно найти по GetDriveType() в Win32 SDK для Visual C++ 32-разрядный выпуск документации.

Для приложений MS-DOS и Win16 несмотря на то, что не существует определенный методы, существует несколько возможных способов чтобы убедиться, что данный диск «возможно» Электронного диска. Оставшейся части статьи кратко рассмотрим каждый из четырех методов для проверки наличия Электронного диска. Обратите внимание, что для всех методов каждый диск хост-компьютере должен быть проверен.

Дополнительная информация

Способ 1.

Проверьте метку тома диска. Этот метод является вероятно наиболее распространенным. RAMDRIVE.SYS корпорация Майкрософт использует метки тома "MS-RAMDRIVE". Тем не менее это не обязательно иметь метку тома и вряд ли будет метку тома на дисках памяти от других компаний. Пользователь может также изменять с помощью команды label.

Способ 2

Вызов прерывания 21 h функция 44 h subfunction 0Dh, является универсальной функции элемента управления ввода/вывода для блока устройств. Большинство устройств поддерживает эту функцию. Тем не менее RAMDRIVE.SYS в данный момент она не поддерживается. Это отсутствие поддержки может использоваться для идентификации Электронного диска. Загрузить регистр CX с 0860h для получения параметров жесткого диска устройства; Если операция завершается ошибкой, оставив установленным флагом переносят диска возможно Электронного диска.

Способ 3

Проверить сколько таблицы FAT, на диске; если он имеет только 1, то скорее всего Электронного диска. Поскольку RAMDRIVE.SYS не поддерживает IOCTL функции, единственным способом для определения числа таблиц FAT является использование 25 INT, абсолютная чтение с диска. Запишите предупреждений, эта функция был заменен, а не поддерживается в операционной системе Windows.Для получения дополнительных сведений и пример, демонстрирующий INT 25 щелкните следующий номер статьи базы знаний Майкрософт:
102870Чтение загрузочного сектора диска

Способ 4

Наконец вызов прерывания 21 h функция 44 h subfunction 09 h, чтобы проверить, является ли диск удаленной. Если значение, возвращаемое в DX 0x0800, только бит 11 набора, на диске, скорее всего Электронного диска. Это называется диском ОЗУ удержания. Поскольку бит 6 и 7, не установлены, известно, что это устройство не поддерживает функции IOCTL, как и большинство устройств. Поскольку бит 12 снят, это не сетевой диск и т. д.

Поскольку ни один из описанных способов гарантировать, лучше использовать сочетание этих методов. Сначала удалите очевидные, такие как сетевые диски, локальные жесткие диски, дисководы компакт-дисков и т. д. Затем попытайтесь определить, является ли данный дисковод Электронного диска.

Свойства

Код статьи: 113418 - Последний отзыв: 23 февраля 2014 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Ключевые слова: 
kbnosurvey kbarchive kbhowtomaster kblangc kbmt KB113418 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:113418

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com