INFO: Unidade Direct Access no Win32

Traduções de Artigos Traduções de Artigos
Artigo: 100027 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Para abrir um disco rígido físico para acesso directo ao disco (raw E/s) numa aplicação baseada no Win32, utilize um nome de dispositivo do formulário
\\.\PhysicalDriveN
em que N é 0, 1, 2 e por aí em diante, representando cada uma das unidades físicas no sistema.

Para abrir uma unidade lógica, acesso directo está no formato
\\.\X:
em que x é uma letra de partição de disco rígido, unidade de disquetes ou unidade de CD-ROM.

Mais Informação

Pode abrir um físico ou unidade lógica com a interface de programação de aplicações (API) CreateFile() estes nomes de dispositivo fornecidos que tiver direitos de acesso apropriados para a unidade (ou seja, tem de ser um administrador). Tem de utilizar os sinalizadores de CreateFile() FILE_SHARE_READ e FILE_SHARE_WRITE para aceder à unidade.

Depois da unidade lógica ou física tiver sido aberta, é possível efectuar E/s directa aos dados na unidade de toda. Quando executar a E/s do disco directa, tem de procura, leitura e escrita em múltiplos de tamanhos de sector do dispositivo e os limites do sector. Chame DeviceIoControl() utilizando IOCTL_DISK_GET_DRIVE_GEOMETRY para obter os bytes por sector, número de sectores, sectores por faixa e por aí em diante, para que possa determinar o tamanho do buffer que vai necessitar.

Nota que uma aplicação baseada no Win32 não é possível abrir um ficheiro utilizando nomes de objectos internos do Windows NT; por exemplo, a tentar abrir uma unidade de CD-ROM através da abertura
\Device\CdRom0
não funciona porque não é um nome de dispositivo Win32 válido. Uma aplicação pode utilizar a API QueryDosDevice() para obter uma lista de todos os nomes de dispositivo Win32 válidos e ver o mapeamento entre um nome de dispositivo Win32 específico e um nome de objecto interno do Windows NT. Uma aplicação executada num nível de privilégios suficientes pode definir, redefinir ou eliminar mapeamentos de dispositivos Win32 ao chamar a API DefineDosDevice().

Propriedades

Artigo: 100027 - Última revisão: 6 de maio de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Win32 Application Programming Interface 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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