INFO: Unidade Direct Access no Win32

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

Sumário

Para abrir um disco rígido físico para acesso direto a disco (brutos E/s) em um aplicativo Win32, use um nome de dispositivo do formulário
\\.\PhysicalDriveN
onde N é 0, 1, 2 e assim por diante, que representa cada uma das unidades físicas no sistema.

Para abrir uma unidade lógica, acesso direto é da forma
\\.\X:
onde X: é uma letra de partição de disco rígido, unidade de disquete ou unidade de CD-ROM.

Mais Informações

Você pode abrir uma física ou unidade lógica usando a interface de programação de aplicativo (API) CreateFile() com esses nomes de dispositivo desde que que tenha os direitos de acesso apropriado para a unidade (isto é, você deve ser um administrador). Você deve usar sinalizadores de CreateFile() FILE_SHARE_READ e FILE_SHARE_WRITE para acessar a unidade.

Depois que tiver sido aberta a unidade lógica ou física, em seguida, você poderá executar E/s direta para os dados na unidade inteira. Ao executar a E/s de disco direto, deve procurar, ler e escrever em múltiplos de tamanhos de setor do dispositivo e em limites do setor. Chame DeviceIoControl() usando IOCTL_DISK_GET_DRIVE_GEOMETRY para obter os bytes por setor, número de setores, setores por trilha e assim por diante, para que você pode calcular o tamanho do buffer que será necessário.

Observe que um aplicativo baseado em Win32 não é possível abrir um arquivo usando nomes de objeto do Windows NT internos; por exemplo, tentar abrir uma unidade de CD-ROM, abrindo
\Device\CdRom0
não funciona porque isso não é um nome de dispositivo do Win32 válido. Um aplicativo pode usar a API QueryDosDevice() para obter uma lista de todos os nomes de dispositivo válidos do Win32 e ver o mapeamento entre um nome de dispositivo específico do Win32 e um nome de objeto interno do Windows NT. Um aplicativo sendo executado em um nível de privilégio suficiente pode definir, redefinir ou excluir mapeamentos de dispositivo do Win32, chamando a API DefineDosDevice().

Propriedades

ID do artigo: 100027 - Última revisão: terça-feira, 6 de maio de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Interface de Programação de Aplicativos do Microsoft Win32 nas seguintes plataformas
    • Microsoft Windows NT Advanced Server 3.1
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
Palavras-chave: 
kbmt kbapi kbfileio kbinfo kbkernbase KB100027 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: 100027

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