Создание VxD на Visual C++ без ассемблерных модулей

       

в контексте вызвавшей задачи Win32,


  • EBX — идентификатор текущей виртуальной машины.


  • ESI — адрес блока параметров DIOCParams.


  • Сообщение всегда посылается в контексте вызвавшей задачи Win32, так что драйверу напрямую доступно адресное пространство приложения. Драйвер обрабатывает запрос, извлекая из блока параметров и исходного буфера данные запроса, и возвращает в EAX код завершения:


  • 0 — обработка завершена успешно;

    -1 — начата асинхронная операция. Возвращается только в том случае, если параметру был задан ненулевой параметр lpoOverlapped.

    код ошибки — если операция завершена неудачно.

    Вместе с возвратом результата в EAX драйвер может заносить необходимую информацию в буфер результата, если он указан в блоке параметров.


    Содержание раздела