Como determinar se uma unidade é uma unidade RAM

Traduções deste artigo Traduções deste artigo
ID do artigo: 113418 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Não há nenhum funções da linguagem C ou C funções de tempo de execução para determinar se é ou não uma unidade de uma unidade RAM. A API GetDriveType() pode ser chamada por aplicativos do Win32 para obter o tipo de uma determinada unidade do sistema operacional. É possível encontrar mais informações sobre GetDriveType() na referência de SDK do Win32 do Visual C++ 32-bit Edition manual online do.

Para aplicativos do MS-DOS e Win16, embora nenhum método definitivo estejam disponíveis, várias maneiras possíveis existem para determinar que uma determinada unidade "provavelmente" é uma unidade RAM. O restante deste artigo irá aborde rapidamente cada um dos quatro métodos para verificar uma unidade RAM. Observe que para todos os métodos de cada unidade do sistema host deve ser marcada.

Mais Informações

Método 1

Verifique o nome do volume da unidade. Esse método é provavelmente o mais comum. RAMDRIVE.SYS Microsoft usa um rótulo de volume de "Microsoft RAMDRIVE". No entanto, isso não é garantido para ser o rótulo de volume e provavelmente não será o rótulo de volume em unidades de RAM de outras empresas. Um usuário também pode alterar isso usando o comando label.

Método 2

Chame interrupção 21 h função h 44 subfunção 0Dh, que é uma função de controle de E/s genérica para dispositivos de bloco. A maioria dos dispositivos oferecem suporte a essa função. No entanto, RAMDRIVE.SYS atualmente não oferece suporte. Essa falta de suporte pode ser usada para identificar uma unidade RAM. Carregar o registro CX com 0860h obter parâmetros de dispositivo de unidade de disco; se a função falhar, deixando o sinalizador é definido, a unidade é provavelmente uma unidade RAM.

Método 3

Verificar quantas tabelas da FAT a unidade possui; se ele tiver apenas 1, provavelmente é uma unidade RAM. Porque RAMDRIVE.SYS não oferece suporte para o IOCTL funções, a única maneira para determinar o número de tabelas da FAT é usar INT 25, leitura de disco absolutos. Anote os avisos que essa função foi substituída e não é suportada no Windows. Para obter mais informações e um exemplo mostrando como usar INT 25, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
102870Ler o setor de inicialização de uma unidade

Método 4

Finalmente, chamada interrupção 21 h funcionam h 44 subfunction 09 h para verificar se a unidade está remota. Se o valor retornado nos DX for 0x0800, apenas ter bit 11 definido, a unidade é provavelmente uma unidade RAM. Isso é conhecido como uma unidade RAM por dedução. Como bits 6 e 7 são claras, ele é conhecido que este dispositivo não aceita IOCTL funções, como a maioria dos dispositivos. Como bit 12 estiver desmarcada, isso não é uma unidade de rede e assim por diante.

Porque nenhum dos métodos acima é garantido, é melhor usar uma combinação desses métodos. Primeiro, elimine o óbvio, como unidades de rede, unidades de disco rígido locais, unidades de CD-ROM e assim por diante. Tente determinar se ou não a unidade especificada é uma unidade RAM.

Propriedades

ID do artigo: 113418 - Última revisão: sábado, 22 de fevereiro 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 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: 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