CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
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++. */