Cómo leer y escribir sectores absolutos del disco en Java
Absread() escribe el prototipo de función de sector absoluto en el disco: int absread(int drive, int num, int sectnum, void *buf) drive=0 (unidad A), 1 (unidad B), num= número de sectores a escribir (64K); sectnumt=número de sector lógico inicial; buf=dirección inicial de la memoria de datos a leer Función: unidad especifica el disco de la unidad, sectnum especifica el número de sector lógico para comenzar a leer (abra DOS y rompa). 0x25 para leer Tome) el contenido del sector num (64K) y guárdelo en el búfer señalado por buf Parámetros: unidad = 0 corresponde al disco A, unidad = 1 corresponde al disco B. Valor de retorno: 0: éxito -1: fracaso Archivo: dos.h abswrite() Prototipo de función para escribir sectores absolutos en el disco: int abswrite(int drive, int nsects, int lsect, void *buffer) drive=0 (unidad A), 1 (unidad B), nsects=número de sectores a escribir (64K); lsect=número de sector lógico inicial; buffer=dirección inicial de la memoria de datos a escribir Función: escribir el contenido especificado (llamar a la interrupción de DOS 0x26) en el sector especificado del disco. incluso si el sector está escrito en la estructura lógica del disco, archivo, estructura de directorio de la tabla FAT Valor de retorno: 0: éxito -1: error Archivo: dos.h Utilice absread para leer datos en formato binario; los datos de almacenamiento del disco original en cuanto a la representación, depende del formato de almacenamiento original y del contenido de los datos. La memoria de la función abswrite especifica que los datos se escriben en una ubicación específica del disco y su contenido está en formato binario. Encuentre el contenido escrito nuevamente, use absread para leerlo desde la ubicación original. Para un ejemplo simple, digamos que el área de inicio principal de la unidad C está dañada, use un disquete o CD para iniciar el sistema y use abswrite. a main Reescriba la copia de seguridad del sector de arranque para cubrir las partes dañadas paso a paso, es decir, se logra el objetivo de reparación manual Nombre de la función: absread, abswirte Función: Para leer y escribir datos en sectores absolutos del disco: int absread(int drive, int nsects, int sectno, void *buffer); int abswrite(int drive, int nsects, in tsectno, void *buffer); ejemplo de programa: /* ejemplo de absread */ #include #include #include #include int main(void) { int i, strt, ch_out , sector; char buf[512]; printf("Inserte un disquete en la unidad A y presione cualquier tecla\n"); sector, amp; buf)! = 0) { perror("Problema de disco"); exit(1 } printf("Leer OK\n"); ) { ch_out = buf[strt i]; putchar(ch_out } printf("\n"); retorno(0)