Como detectar uma unidade do DoubleSpace a partir de um ficheiro de secção

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.

101884
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Estas informações se aplicam ao Microsoft DoubleSpace e o Microsoft DriveSpace. Para MS-DOS 6.22, utilize DRVSPACE em vez de DBLSPACE para comandos e nomes de ficheiros.
Sumário
Ficheiros de comandos do MS-DOS não consegue distinguir entre unidades comprimidas e unidades não comprimidas. No entanto, pode utilizar o utilitário de depuração do MS-DOS para criar um programa que define um errorlevel dependendo se uma unidade estiver comprimida com o DoubleSpace. Um ficheiro de comandos do MS-DOS, em seguida, pode testar este errorlevel para determinar se a unidade é uma unidade do DoubleSpace-comprimidos.

NOTA: Suporte técnico da Microsoft não fornece suporte para escrever ficheiro de script ou batch Debug referido neste artigo ou resolver problemas relacionados com a compilação, executar ou utilizar este programa ou ficheiro batch.
Mais Informação
Este seguinte é um exemplo de como utilizar o utilitário de depuração do MS-DOS para criar um ficheiro de programa chamado ISDBL.COM. ISDBL.COM determina o seguinte:

  • Se o DoubleSpace é carregado na memória - e -

  • Se uma unidade especificada é uma unidade comprimida DoubleSpace
ISDBL.COM devolve errorlevels seguintes:
   Results                         Errorlevel   ------------------------------------------   DoubleSpace compressed drive         1   DBLSPACE.BIN is not loaded           0   Invalid drive                        0   Other errors                         0				
Nota: ISDBL.COM testa a unidade actual, não se for especificada nenhuma unidade na linha de comandos.

Criar ISDBL.COM

ISDBL.COM é criado utilizando um ficheiro de script de depuração, que contém todos os comandos que teria de introduzir a partir de depuração para criar ISDBL.COM.

Para criar ISDBL.COM, siga estes passos exactamente:

  1. Crie um ficheiro de texto denominado C:\ISDBL.SRC utilizando um texto editor (tal como o bloco de notas do Windows ou no Editor do MS-DOS). Este é o ficheiro de script Debug. C:\ISDBL.SRC deve conter as seguintes linhas, exactamente como aparecem.

    NOTA: Prima a tecla ENTER no final de cada linha abaixo.
          A 100      MOV AX,2901      MOV SI,81      MOV DI,012D      INT 21      MOV DL,[012D]      DEC DL      JGE 0119      MOV AH,19      INT 21      MOV DL,AL      MOV AX,4A11      MOV BX,1      INT 2F      MOV AX,4C00      AND BL,80      JZ 012B      INC AL      INT 21      RCX      AE      N ISDBL.COM      W      Q						
    Nota: tem que prima a tecla ENTER duas vezes após o último "INT 21" linha e uma vez depois de "Q" no fim do Debug script.
  2. Da linha de comandos do MS-DOS na unidade C, introduza o seguinte comando para criar o programa ISDBL.COM:
          DEBUG < ISDBL.SRC						
    Debug lê e segue as instruções no ficheiro ISDBL.SRC. Recomenda-se que não utilizam este comando a partir do Windows ou quando outros programas em execução. Se ISDBL.SRC contiver um erro, depuração provavelmente não é informada quando sair; por este motivo, terá de reiniciar o sistema. Depuração mesmo pode ser indicada para que o sistema deixasse de responder (não reagir). Se isto acontecer, reiniciar o sistema e examine ISDBL.SRC para verificar a exactidão.

    Se existirem erros no ISDBL.SCR, alguns ecrãs de informações são apresentadas, terminando
    <nnnn>: 012B INT 21
    <nnnn>: 012D
    -RCX
    CX 0000
    AE:
    -N ISDBL.COM
    -W
    Escrita 000AE bytes
    -Q
    em que <nnnn> é uma combinação de letras e números, a combinação exacta de que varia. As restantes informações devem ser exactamente como acima se ISDBL.COM foi compilado correctamente.

    O Debug coloca o ficheiro ISDBL.COM no directório actual, que no exemplo acima é C:\. Deve ser 174 bytes de tamanho.

Utilizar ISDBL.COM

Agora é possível executar o programa ISDBL.COM num ficheiro batch para obter informações sobre uma unidade específica. Segue-se um ficheiro batch de exemplo:

DBLTEST.BAT

   @ECHO OFF   REM This batch file uses ISDB.COM to test a drive to see if it   REM was compressed with DoubleSpace.   REM   REM DBLTEST.BAT assumes that ISDBL.COM in in the current   REM directory or a directory on the MS-DOS Path.   REM   REM The syntax for running this batch file is:   REM    DBLTEST <drive>:   REM   REM where <drive>: is the name of the drive to test, for example C:   REM If no drive is specified, the current drive is tested.   REM   ISDBL %1   IF NOT ERRORLEVEL 1 GOTO FAILURE   ECHO The drive %1 is a DoubleSpace compressed drive.   GOTO END   :FAILURE   ECHO The drive %1 is not a DoubleSpace compressed drive.   :END				

Como funciona a ISDBL

Para determinar se a unidade estiver comprimida, ISDBL assume que o DoubleSpace está em execução.

ISDBL verifica a unidade especificada utilizando interrupção 2F, função 4A11. Esta função é a interface de programação de aplicações (API) DSGetDriveMapping chamar DoubleSpace. Se a unidade estiver comprimida, 7 BL bit será definido. Caso contrário, é zero. Este resultado é simplesmente retornado no fim da ISDBL.
Referências
6,00 6.20

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 101884 - Última Revisão: 02/11/2014 01:21:17 - Revisão: 1.0

  • Microsoft MS-DOS 6.0 Standard Edition
  • Microsoft MS-DOS 6.2 Standard Edition
  • Microsoft MS-DOS 6.22 Standard Edition
  • kbnosurvey kbarchive kbmt KB101884 KbMtpt
Esta informação foi útil?