Bdosptr
bdosptr
Функция Доступ к системным вызовам DOS.
Синтаксис #include
int bdosptr(int dosfun, void * argument, unsigned dosal);
Файл, содержащий dos.h прототип
Описание bdosptr обеспечивает прямой доступ ко многим сис- темным вызовам DOS. Описание всех системных вызо- вов вы найдете в документе "Справочное руководст- во по DOS".
В системных вызовах, требующих целый аргумент, используйте функцию bdos; если в качестве аргу- мента они требуют указатель, то используйте функ- цию bdosptr.
Для моделей данных large (compact, large, huge) предпочтительнее использовать для системных вызо- вов функцию bdosptr вместо bdos с адресным указа- телем в качестве аргумента.
dosfun описан в документе "Справочное руководство по DOS".
В моделях данных типа small параметр argument в bdosptr задает DX; в моделях данных типа large он задает значение DS:DX, используемое в системном вызове.
dosal является значением регистра AL.
Возвращаемое Функция bdosptr возвращает значение регистра AX значение при успешном завершении и значение -1 при неудач- ном завершении. При неудачном завершении устанав- ливаются значения переменных errno и _doserrno.
Переносимость bdosptr уникальна для DOS.
Смотрите также 6, 6
Пример:
#include
#include
#include
#include
#include
#include
#define BUFLEN 80
int main(void) { char buffer[BUFLEN]; int test; printf("Введите полный маршрут директории:"); gets(buffer); test = bdosptr(0x3b,buffer,0); if(test) { /* в errno.h приведен список кодов ошибок */ printf("Ошибка DOS, номер: %d\n",errno); exit(1); } getcwd(buffer,BUFLEN); printf("Текущая директория: %s\n",buffer); return 0; }