Cómo determinar si una unidad es una unidad de RAM

Seleccione idioma Seleccione idioma
Id. de artículo: 113418 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

No existen funciones de lenguaje C o funciones C en tiempo de ejecución para determinar si es o no una unidad de una unidad de RAM. La API GetDriveType() puede ser invocada por aplicaciones de Win32 para obtener el tipo de una unidad concreta del sistema operativo. Puede encontrar más información sobre GetDriveType() en referencia del SDK de Win32 de los libros en pantalla de Visual C++ 32-bit Edition.

Para las aplicaciones MS-DOS y Win16, aunque no hay ningún método definitivo disponible, existen varias formas para determinar que una unidad determinada "probablemente" es una unidad de RAM. El resto de este artículo Describa brevemente cada uno de cuatro métodos para comprobar una unidad de RAM. Tenga en cuenta que para todos los métodos se debe comprobar cada unidad del sistema host.

Más información

Método 1

Compruebe etiqueta de volumen la unidad en la. Este método es probablemente la más común. El RAMDRIVE.SYS Microsoft utiliza una etiqueta de volumen de "Microsoft RAMDRIVE". Sin embargo, no se garantiza que la etiqueta de volumen y probablemente no será la etiqueta de volumen en unidades de RAM de otras compañías. Un usuario también puede cambiar esto mediante el comando etiqueta.

Método 2

Llame a Interrupt 21 h función h 44 subfunción 0Dh, que es una función de control de E/s genérica para dispositivos de bloque. La mayoría de los dispositivos admiten esta función. Sin embargo, RAMDRIVE.SYS actualmente no lo admite. Esta falta de soporte técnico puede utilizarse para identificar una unidad de RAM. Cargar el registro CX con 0860h obtener parámetros de dispositivo de unidad de disco; si la función falla, dejando el lleve indicador establecido, la unidad es probablemente una unidad de RAM.

Método 3

Compruebe cuántas tablas FAT la unidad tiene; si tiene sólo 1, probablemente es una unidad de RAM. Porque RAMDRIVE.SYS no admite el comando IOCTL funciones, la única para determinar el número de tablas FAT consiste en utilizar INT 25, lectura de disco absolutas. Anote las advertencias que esta función se ha sustituido y no se admite en Windows. Para obtener más información y un ejemplo que muestra cómo utilizar INT 25, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
102870Leer el sector de inicio de una unidad

Método 4

Por último, llamada interrupción 21 h función h 44 subfunction 09 h para comprobar si la unidad es remota. Si el valor devuelto en DX es 0 x 0800, sólo tiene bit 11 establecido, la unidad es probablemente una unidad de RAM. Esto se conoce que una unidad de RAM por deducción. Debido a que bits 6 y 7 son claros, se sabe que este dispositivo no acepta las funciones IOCTL, como la mayoría de los dispositivos. Bit 12 está desactivada, no es porque una unidad de red y así sucesivamente.

Porque se garantiza que ninguno de los métodos anteriores, es mejor utilizar una combinación de estos métodos. Elimine primero la evidente, como unidades de red, discos duros locales, unidades de CD-ROM y así sucesivamente. A continuación, intente determinar si la unidad dada es una unidad de RAM.

Propiedades

Id. de artículo: 113418 - Última revisión: sábado, 01 de marzo de 2014 - Versión: 4.1
La información de este artículo se refiere 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
  • Microsoft Visual C++ 5.0 Professional
  • Microsoft Visual C++ 6.0 Professional
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ .NET 2002 Standard
  • Microsoft Visual C++ .NET 2003 Standard
Palabras clave: 
kbnosurvey kbarchive kbmt kbhowtomaster kblangc KB113418 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 113418

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