Функция Recover_the_file (), функция сохранения данных из секторов, начиная с сектора номер start_file в секторе номер end_file, Программа, чтобы скрыть или показать курсор на экране

Files Recovery Software
Дом Контактная информация Служба поддержки Скачать демо - Продукция  

 
 

Кодирование функция Recover_the_file () был предоставлен следующий :

/*Функция для сохранения данных из секторов, начиная с сектора номер start_file в секторе номер end_file */

Recover_the_file()
{
FILE *fp;
if((fp=fopen(filename, "wb"))==NULL)
{
gotoxy(10,23);printf("Error Opening File %s",
filename);
getch();
exit(1);
}

for(i=start_file;i<=end_file;i++)
{
gotoxy(19,16);cprintf("Scanning Sector Number =
%ld", i);
readabsolutesectors ( 0x81, i, 1, buffer );
fwrite(buffer,512,1, fp);
}
fclose(fp);
gotoxy(15,18);cprintf("[ %d ] Files Recovered...",num);
gotoxy(5,19);cprintf(" ");
return;
}


Кодирование функция readabsolutesectors было уделено другому. Использует функцию INT 13H Расширение числа и функции 42H для чтения секторов.

Для подробного описания функций, см. главу "Создание резервных копий" обсуждались ранее в этой книге. Кодирование функция выглядит следующим образом :

//// Function to read absolute sector(s) \\\\

int readabsolutesectors ( int drive,
unsigned long sectornumber,
int numofsectors,
void *buffer )
{

union REGS i, o ;
struct SREGS s ;
struct diskaddrpacket pp ;

pp.packetsize = 16 ; /* packet size = 10H */

pp.reserved = 0 ; /* Reserved = 0 */

pp.blockcount = numofsectors ; /* Number of sectors
to read */

/* for Data buffer */

pp.bufferaddress = (char far*) MK_FP ( FP_SEG((void far*)buffer), FP_OFF((void far*)buffer));

pp.blocknumber[0] = sectornumber ; /* Sector number
to read */

pp.blocknumber[1] = 0 ; /* Block number */

i.h.ah = 0x42 ; /* Function Number*/

i.h.dl = drive ; /* Physical Drive Number */

/* ds:si for buffer Parameters */
i.x.si = FP_OFF ( (void far*)&pp ) ;

/* ds:si for buffer Parameters */
s.ds = FP_SEG ( (void far*)&pp ) ;

/* Invoke the specified Function of INT 13H with
segment register values */

int86x ( 0x13, &i, &o, &s ) ;
if ( o.x.cflag==1)
return 0 ; //failure

else
return 1 ; // success
}

Следующая функция используется, чтобы скрыть или показать курсором на экране. Прерываний используется функция 10H, функция 01H установить тип курсора. Кодирования выглядит следующим образом :

show_hide_cursor( ssl, esl )
int ssl, esl ;
{
union REGS i, o ;

i.h.ah = 1 ;
i.h.ch = ssl ;
i.h.cl = esl ;
i.h.bh = 0 ;

int86 ( 16, &i, &o ) ;
return;
}

show_hide_cursor (32, 0) прячет курсор и show_hide_cursor (6, 7) загружает курсор назад. -ssl начинает курсор к строке и заканчивается Centrelink строки из курсора.

Мало описание функций INT 01H в 10H выглядит следующим образом :

INT 10H (16 or 0x10)

Функция 01H (0x01 или) --> Установка типа курсора

Call with: AH = 01H
CH bits 0-4 = starting line for cursor
CL bits 0-4 = ending line for cursor

Returns: Nothing.

Комментарии :

Функция используется для установки типа курсора, выбрав время начала и окончания линий в аппаратных мерцание курсор в текстовом режиме. В графических режимах аппаратного курсора нет.


Previous page

page 1 | 2 | 3 | 4 | 5 | 6

 


 

Chapter 15

 
 

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17

Next page

 
 
Для восстановления данных книги
 
Глава 1 Обзор восстановления данных
Глава 2 Введение жестких дисков
Глава 3 Логический подход к дисков и ОС
Глава 4 Количество систем
Глава 5 Введение в программирование
Глава 6 Введение в информатику
Глава 7 Необходимые команды DOS
Глава 8 Диск - функции BIOS и прерывания контакта с C
Глава 9 Обработка больших жестких дисков
Глава 10 Восстановление данных с поврежденных дискет
Глава 11 Создание резервных копий
Глава 12 Чтение и изменение MBR с Programming
Глава 13 Чтение и Изменение DBR со Программирование
Глава 14 Программирование на "Сырье Файл" подъема
Глава 15 Программирование на данные Стеклоочистители
Глава 16 Разработка более Утилиты для дисков
Добавление Глоссарий терминов по восстановлению данных
 
 
Pro Data Doctor

Дом

Продукция

Контактная информация

Служба поддержки

Скачать демо -

Положения и условия

 
Pro Data Doctor