Enumdisk1.exe: Esempio di Enumdisk per l'enumerazione periferiche disco

Traduzione articoli Traduzione articoli
Identificativo articolo: 264203 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Le applicazioni Win32 consente SetupDi API di enumerare tutte le periferiche disponibili nel sistema. Nell'esempio di Enumdisk1.exe viene illustrata questa tecnica per l'enumerazione di tutte le periferiche disco indipendentemente dal tipo di disco. Viene inoltre ottenuto un handle per il dispositivo per inviare comandi IOCTL per ottenere le proprietÓ scheda e periferica. Inoltre, questa comunica alla periferica inviando un small computer system interfaccia (SCSI) pass-through comando per ottenere i dati di richiesta .

Informazioni

Il seguente file Ŕ disponibile per il download dall'Area download Microsoft:
Riduci l'immagineEspandi l'immagine
Download
Download Enumdisk1.exe now
Data di rilascio: sett. 21, 2000

Per ulteriori informazioni su come scaricare file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
119591Come ottenere file di supporto Microsoft dai servizi online
Microsoft analizzati questo file per individuare eventuali virus. Microsoft ha utilizzato il software antivirus pi¨ recente disponibile alla data di pubblicazione del file. Il file Ŕ archiviato in server con protezione avanzata per impedire modifiche non autorizzate al file. Il file di Enumdisk1.exe contiene i seguenti file:
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)
				

Enumerazione periferica

L'esempio Enumdisk1.exe utilizza l'installazione classe GUID_DEVCLASS_DISKDRIVE identificatore univoco globale (GUID) per enumerare tutte le periferiche disco sono installate nel sistema. Viene quindi ottenuto l'ID di periferica per il recupero delle proprietÓ del Registro di sistema.

L'handle per la periferica Ŕ necessaria per inviare IOCTL da un'applicazione di Win32. ╚ possibile ottenere l'handle di periferica, aprire la periferica con il nome di periferica dell'interfaccia. Il driver classe espone questa interfaccia registrando l'interfaccia della periferica. Utilizza l'interfaccia DiskClassGuid GUID per la periferica di registrazione. Un'applicazione Win32 possibile per ottenere il nome di interfaccia, utilizzare SetupDi API con la stessa interfaccia GUID. Eseguendo questo in un ciclo, Ŕ possono ottenere tutte le interfacce disco registrati. PoichÚ questo valore viene ottenuto da driver di classe del disco, questa tecnica funziona per tutti i tipi di periferiche di disco, ad esempio SCSI, IDE (Integrated Device Electronics), USB (Universal Serial Bus) e Institute for Electrical and Electronics Engineers (IEEE) 1394.

ProprietÓ periferica

IOCTL_STORAGE_QUERY_PROPERTY pu˛ essere utilizzato per ottenere rispettivamente le proprietÓ, scheda e periferica. Questo IOCTL accetta la struttura di dati STORAGE_PROPERTY_QUERY come argomento. Prima di chiamare questo IOCTL, Ŕ necessario impostare i membri STORAGE_PROPERTY_ID e STORAGE_QUERY_TYPE conseguenza. ╚ possibile impostare il STORAGE_PROPERTY_ID StorageAdapterProperty o StorageDeviceProperty , e determina la proprietÓ da restituire. Questa struttura di dati e valori dei membri sono definiti in \Ntddk\Src\Ntddstor.h.

Chiamata di questo StorageAdapterProperty IOCTL restituisce la struttura di dati STORAGE_ADAPTER_DESCRIPTOR , che contiene proprietÓ quali il bus scheda tipo, lunghezza massima di trasferimento, mask allineamento e cosý via. StorageDeviceProperty restituisce la struttura di dati STORAGE_DEVICE_DESCRIPTOR , che contiene il tipo di periferica, ID fornitore, serie e cosý via. Queste informazioni vengono ricavate dal driver di porta corrispondente. Consultare la documentazione di Windows 2000 DDK per ulteriori informazioni su questo IOCTL e strutture di dati.

Interfaccia Pass-Through SCSI

L'handle di periferica ottenuto in questo modo Ŕ utilizzabile anche per inviare comandi pass-through SCSI alla periferica. L'esempio invia il comando di richiesta al dispositivo per ottenere i dati di richiesta . Vedere l'esempio SPTI, disponibile in Windows 2000 DDK per ulteriori informazioni sull'interfaccia pass-through SCSI.

Creazione dell'esempio

Fare clic sull'icona Free Build Environment o Checked Build Environment nel gruppo programma Development Kit per impostare le variabili di ambiente base necessarie per l'utilitÓ di generazione.

Passare alla cartella che contiene il codice sorgente di periferica, ad esempio:
CD c:\enumdisk
Per eseguire l'utilitÓ di generazione, digitare creare - cz oppure utilizzare la macro BLD . Questo metodo richiama il Microsoft routine di creazione che consente di producono file di registro denominati genera log xxx , generazione xxx .wrn e creare xxx Err se esistono eventuali avvisi o errori.

Si noti che xxx sta per "fre" o "chk" seconda dell'ambiente scelto. Se la generazione ha esito positivo, il file Enumdisk.exe eseguibile viene inserito in una sottocartella di specifiche della piattaforma della cartella % TargetPath % specificato nel file di origine.

Esecuzione dell'esempio Enumdisk1.exe

In questo esempio non richiede alcun argomento. Eseguire l'esempio da una finestra del prompt dei comandi, verranno elencate tutte le proprietÓ periferica disco.

Riferimenti

Microsoft Windows 2000 Driver Development Kit

ProprietÓ

Identificativo articolo: 264203 - Ultima modifica: mercoledý 1 novembre 2006 - Revisione: 2.4
Le informazioni in questo articolo si applicano a:
  • Microsoft Win32 Device Driver Kit for Windows 2000
Chiavi:á
kbmt kbdownload kbfile kbgraphxlinkcritical KB264203 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 264203
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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