Главная страница
Навигация по странице:

  • Прототип в

  • Возвращаемое

  • Переносимость

  • Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования


    Скачать 3.41 Mb.
    НазваниеПодпрограммы классификации Подпрограммы преобразования
    АнкорСправочник по функциям С++.doc
    Дата07.05.2018
    Размер3.41 Mb.
    Формат файлаdoc
    Имя файлаСправочник по функциям С++.doc
    ТипДокументы
    #18992
    КатегорияИнформатика. Вычислительная техника
    страница18 из 120
    1   ...   14   15   16   17   18   19   20   21   ...   120

    biosdisk


    ---------------------------------------------------------------
    Назначение Ввод/вывод с жесткого или гибкого диска.
    Синтаксис int biosdisk(int cmd, int drive, int head,

    int track, int sector, int nsects,

    void *buffer);
    Прототип в bios.h
    Замечания Эта функция использует прерывание 0х13 для вы-

    зова дисковых операций непосредственно из BIOS.
    drive - номер используемого дисковода : 0 для

    первого дисковода гибких дискет, 1 для второго,

    2 для третьего и т.д. Для жесткого дисковода

    величина 0х80 для drive определяет первый дис-

    ковод, 0х81 - второй, 0х82 - третий и т.д.
    Для жесткого диска определяется физический дис-

    ковод, а не логическое разделение диска.
    При необходимости прикладная программа должна

    сама интерпретировать информацию из таблицы

    разбиения диска.
    cmd опредедяет действия, которые должны быть

    выполнены.
    В зависимости от значения cmd могут понадобить-

    ся и другие параметры. Ниже приведены значения

    cmd для IBM PC, XT, АТ или PS/2 и совместимых с

    ними моделей:
    0 - сброс дисковой системы. Контроллер дисково-

    да выполняет принудительный сброс. Все осталь-

    ные параметры игнорируются.
    1 - возврат статуса выполнения последней диско-

    вой операции. Все другие параметры игнорируют-

    ся.
    2 - читает один или более дисковых секторов в

    память. Начальный сектор для чтения задается

    параметрами head, track и sector. Число секто-

    ров задается параметром nsect. Данные читаются

    по 512 байт в секторе в buffer.
    3 - записывает один или более секторов диска из

    памяти. Начальный сектор для записи задается

    head, track и sector. Число секторов задается

    параметром nsect. Данные записываются по 512

    байт в сектор из buffer.
    4 - проверяет один или более секторов. Началь-

    ный сектор задается head, track и sector. Число

    секторов задается в nsect.
    5 - форматирует дорожку. Дорожка задается пара-

    метрами head и track. buffer указывает на таб-

    лицу заголовков секторов, которые будут записы-

    ваться в заданную track. Смотри техническую

    документацию для IBM PC для описания этой таб-

    лицы и операции форматирования
    Следующие значения cmd допускаются только для

    моделей ХТ, АТ, PS/2 и совместимых с ними:
    6 - форматирует дорожку и устанавливает флаги

    дефектных секторов.
    7 - форматирует дисковод, начиная с заданной

    дорожки.
    8 - возвращает параметры активного дисковода.

    Эта информация помещается в первые четыре байта

    buffer.
    9 - инициализация характеристик парного диско-

    вода.
    10 - производит длинное чтение, 512+4 байта на

    сектор.
    11 - производит длинную запись, 512+4 байта в

    сектор.
    12 - производит позиционирование дисковода.
    13 - производит альтернативный сброс дисковода.
    14 - читает буфер сектора.
    15 - записывает буфер сектора.
    16 - проверяет готовность заданного дисковода.
    17 - проводит перекалибровку дисковода.
    18 - диагностика контроллера RAM.
    19 - диагностика дисковода.
    20 - внутренняя диагностика контроллера.
    Замечание: biosdisk работает с секторами диска

    на более низком уровне, чем файловая система MS

    -DOS, поэтому некорректное использование этой

    функции может привести к порче файлов или ог-

    лавления жесткого диска.
    Возвращаемое Эти операции возвращают статусный байт,

    значение составленный из следующих бит:
    0х00 - операция прошла успешно

    0х01 - неверная команда

    0х02 - маркер адреса не найден

    0x03 - запись на диск запрещена

    0х04 - запись не найдена

    0х05 - ошибка сброса

    0x06 - изменилось содержание диска после пос-

    ледней операции

    0х07 - ошибка чтения параметров дисковода

    0x08 - переполнение DMA

    0х09 - попытка для DMA перейти границу 64 Кб

    0x0A - обнаружен дефектный сектор

    0х0В - обнаружен флаг дефектной дорожки

    0x0C - трек недоступен

    0х10 - ошибка кода коррекции при чтении диска

    0х11 - коррекция данных с помощью кода коррек-

    ции

    0х20 - контроллер неисправен

    0х40 - ошибка позиционирования

    0х80 - некорректный ответ дисковода

    0хВВ - неизвестная ошибка

    0xCC - ошибка записи

    0xE0 - неверный статус

    0хFF - ошибка доступа
    Заметим, что 0х11 не является ошибкой, т.к.

    данные корректны. Значение возвращается с той

    целью, чтобы дать возможность прикладной прог-

    рамме самой сделать выбор.
    Переносимость Эта функция работает только на IBM PC и ей

    подобных.
    Смотри также absread, abswrite

    ----------------------------------------------------------------
    1   ...   14   15   16   17   18   19   20   21   ...   120


    написать администратору сайта