Enumdisk1.exe: Enumdisk-Beispiel für Datenträger-Geräte erstellen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 264203 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Win32-Anwendungen können SetupDi APIs verwenden, um alle Geräte auflisten, die im System verfügbar sind. Das Enumdisk1.exe-Beispiel veranschaulicht diese Technik durch Auflisten Datenträgergeräte unabhängig vom Datenträger. Das Beispiel erhält auch ein Handle für das Gerät zum Senden von IOCTL-Befehlen Adapter und Geräte-Eigenschaften abzurufen. Weitere, kommuniziert dieser an das Gerät per einen small Computer System Interface () Pass-Through-Befehl an die Abfrage Daten abrufen.

Weitere Informationen

Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:
Bild minimierenBild vergrößern
Download
Download Enumdisk1.exe now
Freigabedatum: Sept. 21, 2000

Weitere Informationen zum Download von Microsoft Support-Dateien finden Sie in folgendem Artikel der Microsoft Knowledge Base:
119591So erhalten Sie Dateien vom Microsoft Support im Internet
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat dazu die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden. Die Enumdisk1.exe-Datei enthält die folgenden Dateien:
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)
				

Gerät-Enumeration

Das Enumdisk1.exe-Beispiel verwendet die Setup-Klasse GUID_DEVCLASS_DISKDRIVE globally unique ID (GUID) alle Datenträgergeräte auflisten, die im System installiert sind. Im Beispiel wird der Geräte-ID dann durch Abrufen der Registrierung-Eigenschaft abgerufen.

Das Handle für das Gerät zum IOCTLs aus einer Win32-Anwendung senden. Das Gerätehandle kann durch Öffnen das Gerät mit dem Schnittstellennamen Gerät abgerufen werden. Der Datenträgertreiber-Klasse macht diese Schnittstelle durch registrieren die Geräteschnittstelle verfügbar. Er verwendet die DiskClassGuid -Schnittstelle GUID für Geräteregistrierung. Eine Win32-Anwendung kann dieser Schnittstellenname abrufen, indem die gleiche Schnittstelle GUID mit SetupDi APIs. Mit dieser in einer Schleife ausführen, können alle registrierten Datenträger Schnittstellen abgerufen werden. Da dieser Wert von der Klasse Datenträgertreiber abgerufen wird, funktioniert dieses Verfahren für alle Arten von Datenträger Geräte, z. B. SCSI, IDE (Integrated Device Electronics), USB (Universal Serial Bus) und Institute for Electrical and Electronics Engineers (IEEE) 1394.

Geräteeigenschaften

IOCTL_STORAGE_QUERY_PROPERTY können verwendet werden, um die Eigenschaften Adapter und Geräte bzw. abzurufen. Dieses IOCTL nimmt die STORAGE_PROPERTY_QUERY -Datenstruktur als Argument. Vor dem Aufrufen dieses IOCTL, müssen die Member STORAGE_PROPERTY_ID und STORAGE_QUERY_TYPE entsprechend festgelegt werden. Kann die STORAGE_PROPERTY_ID auf StorageAdapterProperty oder StorageDeviceProperty festgelegt werden, und bestimmt die Eigenschaft zurückgegeben werden. Diese Datenstruktur und seine Memberwerte werden in \Ntddk\Src\Ntddstor.h definiert.

Diese StorageAdapterProperty IOCTL Aufruf gibt die Datenstruktur der STORAGE_ADAPTER_DESCRIPTOR , enthält Adaptereigenschaften wie der Bus zurück geben, Transfer Maximallänge, Ausrichtung Mask und usw.. StorageDeviceProperty gibt die Datenstruktur der STORAGE_DEVICE_DESCRIPTOR , die den Gerätetyp, HERSTELLERKENNUNG, PRODUKTKENNUNG und usw. enthält. Diese Informationen werden aus den jeweiligen Porttreiber abgerufen. Finden Sie in der Windows 2000 DDK-Dokumentation Weitere Informationen über diese IOCTL und -Datenstrukturen.

SCSI-Pass-Through-Schnittstelle

Dem Gerätehandle erhalten auf diese Weise kann auch SCSI Pass-Through-Befehle an das Gerät senden verwendet werden. Im Beispiel sendet den Befehl Abfrage mit dem Gerät um die Abfrage Daten abzurufen. Verweisen Sie auf das SPTI-Beispiel in der Windows 2000 DDK Weitere Informationen über SCSI-Pass-Through-Schnittstelle verfügbar ist.

Erstellen des Beispiels

Klicken Sie unter der Programmgruppe Development Kits, die grundlegenden Umgebungsvariablen festzulegen, die vom Build-Dienstprogramm benötigt werden auf das Symbol Freie Build-Umgebung oder Build Environment aktiviert .

Wechseln Sie zu dem Ordner, der dem Gerät, z. B. Quellcode:
CD-c:\enumdisk
Führen Sie das Dienstprogramm erstellen durch Eingabe von build - cz , oder verwenden Sie das Makro BLD . Diese Methode ruft die Microsoft stellen Routinen, die Protokolldateien mit dem Namen erzeugen Xxx .log, Build Xxx .WRN erstellen und Xxx .Err erstellen, wenn Warnungen oder Fehler.

Beachten Sie, Xxx "Fre" oder "Chk" abhängig von der ausgewählten Umgebung steht. Wenn das Build erfolgreich ist, wird die ausführbare Datei Enumdisk.exe in einem plattformspezifischen Unterordner Ihren Ordner "% TargetPath" platziert, die in der Datenquellen-Datei angegeben ist.

Ausführen des Beispiels Enumdisk1.exe

Dieses Beispiel erfordert keine Argumente. Das Beispiel aus einem Eingabeaufforderungsfenster ausführen; alle Datenträger Geräteeigenschaften werden aufgelistet.

Informationsquellen

Microsoft Windows 2000 Driver Development Kit

Eigenschaften

Artikel-ID: 264203 - Geändert am: Mittwoch, 1. November 2006 - Version: 2.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Win32 Device Driver Kit for Windows 2000
Keywords: 
kbmt kbdownload kbfile kbgraphxlinkcritical KB264203 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 264203
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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