в контексте вызвавшей задачи Win32,
EBX — идентификатор текущей виртуальной машины.
ESI — адрес блока параметров DIOCParams.
Сообщение всегда посылается в контексте вызвавшей задачи Win32, так что драйверу напрямую доступно адресное пространство приложения. Драйвер обрабатывает запрос, извлекая из блока параметров и исходного буфера данные запроса, и возвращает в EAX код завершения:
0 — обработка завершена успешно;
-1 — начата асинхронная операция. Возвращается только в том случае, если параметру был задан ненулевой параметр
lpoOverlapped.
код ошибки — если операция завершена неудачно.
Вместе с возвратом результата в EAX драйвер может заносить необходимую информацию в буфер результата, если он указан в блоке параметров.
Содержание раздела