Enumdisk1.exe: Пример Enumdisk для перечисление устройств с диска

Переводы статьи Переводы статьи
Код статьи: 264203
Развернуть все | Свернуть все

В этой статье

Аннотация

Можно использовать в приложениях Win32SetupDiИнтерфейсы API для перечисления всех устройств, имеющихся в системе. В образце Enumdisk1.exe демонстрируется этот метод при перечислении дисковых устройств независимо от типа диска. Образец также получает дескриптор устройства для отправки команды IOCTL для получения свойств адаптера и устройств. Кроме того, это взаимодействует на устройстве, отправляя малых компьютерных системного интерфейса (SCSI) транзитную команду для полученияЗапросDATA.

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

Указанный ниже файл можно загрузить с веб-сайта Центра загрузки Майкрософт::
Свернуть это изображениеРазвернуть это изображение
Загрузка
Загрузить Enumdisk1.exe
Дата выпуска: Сентябрь. 21, 2000

Дополнительные сведения о загрузке файлов поддержки Майкрософт см. в следующей статье базы знаний Майкрософт::
119591Как загрузить файлы поддержки Microsoft из Интернета
Корпорация Microsoft проверила этот файл на наличие вирусов.. Корпорация Майкрософт использует последние версии антивирусного программного обеспечения, имеющиеся на момент публикации файла.. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение..Файл Enumdisk1.exe содержит следующие файлы:
File           Description
--------------------------

Enumdisk.c     Implements the Win32 application to enumerate the disk devices.
Enumdisk.h     Header file for Enumdisk.c
Sources        DDK build instructions
Enumdisk.htm   The documentation for these samples (this file)
Enumdisk.exe   Windows 2000 executable program (Free build)
				

Перечисление устройства

В образце Enumdisk1.exe используется класс установкиGUID_DEVCLASS_DISKDRIVEглобальный уникальный идентификатор (GUID) для перечисления всех дисководов, установленных в системе. Затем пример получает идентификатор устройства, получение свойств реестра.

Дескриптор устройства необходим для отправки IOCTLs из приложения Win32. Дескриптор устройства можно получить, открыв его с именем интерфейса устройства. Драйвер класса предоставляет этот интерфейс путем регистрации интерфейса устройства. Он используетDiskClassGuidИдентификатор GUID интерфейса для регистрации устройства. Приложения Win32, может получить это имя интерфейса, с помощьюSetupDiAPI-интерфейсы с теми же интерфейс, идентификатор GUID. Выполняя это в цикле, могут быть получены все интерфейсы, зарегистрированные диска. Поскольку это значение извлекается из класса драйвер диска, этот метод работает для всех типов дисковых устройств, таких как SCSI, интегрированная электроника устройств (IDE), универсальной последовательной шины (USB) и институтом электротехнике и электронике инженеров IEEE 1394.

Свойства устройств

IOCTL_STORAGE_QUERY_PROPERTYможно использовать для определения свойств адаптера и устройства, соответственно. Принимает этот IOCTLSTORAGE_PROPERTY_QUERYСтруктура данных в качестве аргумента. Перед вызовом этого IOCTLSTORAGE_PROPERTY_IDиSTORAGE_QUERY_TYPEчлены должны быть установлены соответственно. надписьюSTORAGE_PROPERTY_IDможно задать либоStorageAdapterProperty-или-StorageDeviceProperty, и определяет свойства, которые должны быть возвращены. Эта структура данных и его значений определены в \Ntddk\Src\Ntddstor.h.

Вызов этого методаStorageAdapterPropertyВозвращает IOCTLSTORAGE_ADAPTER_DESCRIPTORструктуры данных, которая содержит свойства адаптера, таких как шины тип, максимальная длина передачи, маска выравнивание и т. д.StorageDevicePropertyВозвращаетSTORAGE_DEVICE_DESCRIPTORСтруктура данных, которая содержит тип устройства, код поставщика, код товара и т. д. Эта информация извлекается из драйвера соответствующего порта. Обратитесь к документации Windows 2000 DDK для получения дополнительных сведений об этом IOCTL и структурах данных.

Интерфейс SCSI к серверу

Дескриптор устройства, полученный таким образом можно использовать также для отправки серверу команд SCSI устройства. Отправка образцовЗапроскоманды в устройство для полученияЗапросDATA. Ссылки на примере SPTI доступна в ПАКЕТЕ Windows 2000, для получения дополнительных сведений к серверу интерфейса SCSI.

Пример приложения

Перейдите на вкладкуБесплатная среда построения-или-Отмеченные среда построениязначок в группе разработки наборы программы для установки основных переменных, которые требуются при построении программы.

Перейдите к папке, содержащей исходный код устройства, например:
CD c:\enumdisk
Запустите программу построения, введяПостроение - cz, или используйтеСБОРКИМакрос. Этот метод вызывает создание процедуры корпорации Майкрософт, для создания файлов журнала с именем сборкиxxx.log, построениеxxx.wrn и Buildxxx.Err, при наличии ошибок и предупреждений.

Следует учитывать, чтоxxxрасшифровывается как «fre» или «chk», в зависимости от выбранной среды. При успешном выполнении построения исполняемого файла Enumdisk.exe помещается во вложенной папке % TargetPath %, который указан в файле Sources платформой.

Выполнение примера Enumdisk1.exe

В этом примере не требует аргументов. Запустить образец из окна командной строки, будут перечислены все свойства дискового устройства.

Ссылки

Microsoft Windows 2000 Driver Development Kit

Свойства

Код статьи: 264203 - Последний отзыв: 19 ноября 2010 г. - Revision: 2.0
Ключевые слова: 
kbdownload kbfile kbgraphxlinkcritical kbmt KB264203 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:264203

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

 

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