Como determinar se uma unidade é uma unidade de RAM

Traduções de Artigos Traduções de Artigos
Artigo: 113418 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Existem não linguagem C ou funções de tempo de execução C para determinar se é ou não uma unidade de uma unidade de RAM. A API GetDriveType() pode ser chamada por aplicações Win32 para obter o tipo de uma determinada unidade do sistema operativo. Podem encontrar mais informações sobre GetDriveType() em Win32 SDK referência do Visual C++ 32-bit Edition Books Online.

Para aplicações do MS-DOS e Win16, apesar de não existirem nenhum método definitivo disponível, várias formas possíveis existem para determinar se uma determinada unidade "provavelmente" é uma unidade de RAM. O resto deste artigo contém uma breve vai abordar cada um dos quatro métodos para procurar uma unidade de RAM. Tenha em atenção que para todos os métodos de cada unidade do sistema anfitrião deve ser verificada.

Mais Informação

Método 1

Verifique o nome do volume da unidade. Este método é provavelmente o mais comum. RAMDRIVE.SYS Microsoft utiliza um nome de volume de "RAMDRIVE MS". No entanto, este não está assegurada seja o nome do volume e provavelmente não será o nome do volume em unidades de RAM de outras empresas. Um utilizador também pode alterar isto utilizando o comando rótulo.

Método 2

Chame interrupção 21 h função h 44 subfunction 0Dh, que é uma função de controlo de E/s genérica para dispositivos de bloco. A maioria dos dispositivos suportam esta função. No entanto, RAMDRIVE.SYS actualmente não a suporta. Esta falta de suporte pode ser utilizada para identificar uma unidade de RAM. Carregar o registo CX com 0860h obter parâmetros de dispositivo de unidade de disco; se a função falhar, deixando o têm sinalizador definido, a unidade é provavelmente uma unidade de RAM.

Método 3

Verificar quantas tabelas FAT a unidade tem; se tiver apenas 1, é provavelmente uma unidade de RAM. Uma vez que RAMDRIVE.SYS não suporta o IOCTL funções, a única forma para determinar o número de tabelas FAT é utilizar INT 25, absoluto leitura de disco. Tome nota dos avisos que esta função foi substituída e não é suportada no Windows. Para mais informações e um exemplo que mostra como utilizar INT 25, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
102870Ler o sector de arranque de uma unidade

Método 4

Finalmente, chamada interrupção 21 h funciona h 44 subfunction 09 h para verificar se a unidade é remota. Se o valor devolvido nos DX 0 x 0800, apenas ter bit 11 conjunto, a unidade é provavelmente uma unidade de RAM. Esta é conhecida como uma unidade de RAM por dedução. Uma vez que bits 6 e 7 são simples, é conhecido que este dispositivo não aceita IOCTL funções, como a maioria dos dispositivos. Uma vez que bit 12 estiver desmarcada, esta não é uma unidade de rede e assim sucessivamente.

Uma vez que nenhum dos métodos acima mencionados é garantido, é melhor utilizar uma combinação destes métodos. Elimine primeiro a óbvia, tais como unidades de rede, discos rígidos locais, unidades de CD-ROM e por aí em diante. Em seguida, tente determinar se a unidade especificada é uma unidade de RAM.

Propriedades

Artigo: 113418 - Última revisão: 1 de março de 2014 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhowtomaster kblangc KB113418 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: 113418

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