Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

bdosptr

bdosptr


Функция            Доступ к системным вызовам DOS.

Синтаксис          #include <dos.h>
                   int bdosptr(int dosfun, void * argument,
                                   unsigned dosal);

Файл, содержащий   dos.h
прототип

Описание           bdosptr обеспечивает прямой доступ ко многим
                   системным вызовам   DOS.  Описание  всех  системных
                   вызовов  вы   найдете   в   документе   "Справочное
                   руководство по DOS".

                   В системных   вызовах,  требующих  целый  аргумент,
                   используйте функцию bdos; если в качестве аргумента
                   функции требуют  указатель,  то используйте функцию
                   bdosptr. Для моделей данных large (compact,  large,
                   huge)  предпочтительнее  использовать для системных
                   вызовов функцию  bdosptr  вместо  bdos  с  адресным
                   указателем в  качестве аргумента.  В моделях данных
                   типа small параметр argument в bdosptr задает DX; в
                   моделях данных типа large он задает значение DS:DX,
                   используемое в системном вызове.

                   dosfun описан в документе  "Справочное  руководство
                   по DOS".

                   dosal является значением регистра AL.

Возвращаемое       Функция bdosptr возвращает значение регистра AX
значение           при успешном завершении и значение -1 при неудачном
                   завершении. В  этом случае устанавливаются значения
                   переменных errno и _doserrno.

Переносимость      bdosptr уникальна для DOS.

Смотрите также     bdos, geninterrupt, int86, int86x, intdos, intdosx.

Пример:

#include <stdio.h>
#include <dos.h>

/* получение текущего устройства, как 'A','B',...*/
char current_drive(void)
{
  char curdrive;
  /* получение текущего диска, как 0,1,...*/
  curdrive = bdos(0x19,0,0);
  return('A' + curdrive);
}

main()
{
   printf("Текущий дисковод %c:\n",current_drive());
   return(0);
}

/* примечание пер. По моему это ошибка. В файле dop.aga приведен
   пример, который использовался для данной функции в Turbo C++. */

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог