Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



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

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++. */


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS