Enumdisk1.exe: Enumdisk amostras para Enumerando dispositivos de disco

Traduções deste artigo Traduções deste artigo
ID do artigo: 264203 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Aplicativos Win32 podem usar SetupDi APIs para enumerar todos os dispositivos disponíveis no sistema. O exemplo Enumdisk1.exe demonstra essa técnica, enumerando todos os dispositivos disco independentemente do tipo de disco. O exemplo também obtém um identificador para o dispositivo para enviar comandos IOCTL para obter as propriedades do adaptador e dispositivo. Além disso, isso comunica para o dispositivo, enviando um comando de passagem de interface (SCSI) de sistema de computadores de pequeno para obter os dados de consulta .

Mais Informações

O seguinte arquivo está disponível para download no Centro de download da Microsoft:
Recolher esta imagemExpandir esta imagem
Download
Download Enumdisk1.exe now
Data de lançamento: Set. 21, 2000

Para obter informações adicionais sobre como baixar arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591Como obter arquivos de suporte da Microsoft a partir de serviços online
Microsoft examinou esse arquivo em busca de vírus. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o arquivo foi publicado. O arquivo é armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo. O arquivo Enumdisk1.exe contém os seguintes arquivos:
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)
				

Enumeração do dispositivo

O exemplo Enumdisk1.exe usa o instalação classe GUID_DEVCLASS_DISKDRIVE identificador exclusivo (GUID) para enumerar todos os dispositivos de disco que estão instalados no sistema. O exemplo, em seguida, obtém a identificação de dispositivo fazendo com que as propriedades de registro.

A alça para o dispositivo é necessário para enviar IOCTLs a partir de um aplicativo Win32. O identificador do dispositivo pode ser obtido ao abrir o dispositivo com o nome de interface de dispositivo. O driver de classe disco expõe essa interface Registrando a interface de dispositivo. Ele usa o GUID da interface DiskClassGuid para registro do dispositivo. Um aplicativo Win32 pode obter esse nome de interface usando SetupDi APIs com a mesma interface GUID. Fazendo isso em um loop, todas as interfaces disco registrado podem ser obtidas. Porque esse valor é obtido do driver de classe de disco, essa técnica funciona para todos os tipos de dispositivos de disco, como SCSI, IDE (Integrated Device Electronics), barramento serial universal (USB) e Institute for Electrical and Electronics Engineers (IEEE) 1394.

Propriedades do dispositivo

IOCTL_STORAGE_QUERY_PROPERTY pode ser usado para obter as propriedades do adaptador e dispositivo, respectivamente. Este IOCTL tem a estrutura de dados STORAGE_PROPERTY_QUERY como um argumento. Antes de chamar este IOCTL, os membros STORAGE_PROPERTY_ID e STORAGE_QUERY_TYPE devem ser definidos apropriadamente. STORAGE_PROPERTY_ID pode ser definida como StorageAdapterProperty ou StorageDeviceProperty e ele determina a propriedade a ser retornado. Essa estrutura de dados e seus valores de membro são definidos no \Ntddk\Src\Ntddstor.h.

Chamar esse StorageAdapterProperty IOCTL retorna a estrutura de dados STORAGE_ADAPTER_DESCRIPTOR , que contém propriedades como o barramento adaptador tipo, comprimento máximo de transferência, máscara de alinhamento e assim por diante. StorageDeviceProperty retorna a estrutura de dados STORAGE_DEVICE_DESCRIPTOR , que contém o tipo de dispositivo, identificação do fornecedor, identificação do produto e assim por diante. Essa informação é obtida do driver de porta respectivos. Consulte a documentação do Windows 2000 DDK para obter mais informações sobre este estruturas de IOCTL e dados.

Interface de passagem SCSI

O identificador de dispositivo obtido dessa forma também pode ser usado para enviar comandos de passagem SCSI para o dispositivo. O exemplo envia o comando pesquisa ao dispositivo para obter os dados de consulta . Consulte o exemplo SPTI, que está disponível no Windows 2000 DDK, para obter mais informações sobre a interface de passagem SCSI.

O exemplo de criação

Clique no ícone Ambiente de compilação livre ou Ambiente de compilação verificada no grupo de programas Kits de desenvolvimento para definir as variáveis de ambiente básicas que são necessárias pelo utilitário de compilação.

Altere para a pasta que contém o código de origem do dispositivo, por exemplo:
CD c:\enumdisk
Execute o utilitário de compilação digitando criar - cz ou use a macro BLD . Este método chama o Microsoft criar rotinas que produzem arquivos de log chamados criar xxx . log, compilação xxx .wrn e criar xxx .Err se houver quaisquer avisos ou erros.

Observe que xxx significa "fre" ou "chk" dependendo do ambiente escolhido. Se a compilação tiver êxito, o arquivo executável Enumdisk.exe é colocado em uma subpasta específica da plataforma de sua pasta % TargetPath % especificado no arquivo de fontes.

Executando o exemplo Enumdisk1.exe

Este exemplo não requer argumentos. Executar o exemplo de uma janela do prompt de comando; todas as propriedades do dispositivo de disco serão listadas.

Referências

Microsoft Windows 2000 Driver Development Kit

Propriedades

ID do artigo: 264203 - Última revisão: quarta-feira, 1 de novembro de 2006 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft Win32 Device Driver Kit for Windows 2000
Palavras-chave: 
kbmt kbdownload kbfile kbgraphxlinkcritical KB264203 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 264203

Submeter comentários

 

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