VxD_Desc_Block - блок описателя устройства
Описывает структуру DDB. Заполняется статически, чтобы к моменту загрузки драйвера все поля имели нужные значения.
ULONGDDB_Next;
USHORT DDB_SDK_Version;
USHORT DDB_Req_Device_Number;
UCHAR DDB_Dev_Major_Version;
UCHAR DDB_Dev_Minor_Version;
USHORT DDB_Flags;
UCHAR DDB_Name [8];
ULONG DDB_Init_Order;
ULONG DDB_Control_Proc;
ULONG DDB_V86_API_Proc;
ULONG DDB_PM_API_Proc;
ULONG DDB_V86_API_CSIP;
ULONG DDB_PM_API_CSIP;
ULONG DDB_Reference_Data;
ULONG DDB_Service_Table_Ptr;
ULONG DDB_Service_Table_Size;
ULONG DDB_Win32_Service_Table;
ULONG DDB_Prev;
ULONG DDB_Size;
ULONG DDB_Reserved1;
ULONG DDB_Reserved2;
ULONG DDB_Reserved3;
DDB_Next — поле для адреса следующего DDB в списке VMM. Инициализируется нулем.
DDB_SDK_Version — версия DDK, с которой построен драйвер. Инициализируется константой DDK_VERSION.
DDB_Req_Device_Number — идентификатор устройства. При отсутствии назначенного идентификатора задается нулевое значение.
DDB_Dev_Major_Version — старшая часть номера версии драйвера.
DDB_Dev_Minor_Version — младшая часть номера версии драйвера.
DDB_Flags — для служебных флагов VMM. Инициализируется нулем.
DDB_Name — имя устройства, дополненное пробелами до восьми символов.
DDB_Init_Order — позиция драйвера в списке загрузки. Если порядок загрузки не важен, используется константа UNDEFINED_INIT_ORDER (нуль).
DDB_Control_Proc — адрес функции диспетчера системных сообщений.
DDB_V86_API_Proc — адрес функции диспетчера V86 API.
DDB_PM_API_Proc — адрес функции диспетчера PM API.
DDB_V86_API_CSIP — служебное поле, инициализируется нулем.
DDB_PM_API_CSIP — служебное поле, инициализируется нулем.
DDB_Reference_Data — служебное поле, инициализируется нулем.
DDB_Service_Table_Ptr — указатель таблицы адресов процедур—обработчиков сервисных функций.
DDB_Service_Table_Size — количество сервисных функций, реализованных в драйвере.
DDB_Win32_Service_Table — служебный указатель таблицы функций Win32, инициализируется нулем.
DDB_Prev — поле для адреса предыдущего DDB в списке VMM, инициализируется константой 'Prev'.
DDB_Size — размер структуры описателя.
DDB_Reserved1 — служебное поле. Инициализируется константой 'Rsv1'.
DDB_Reserved2 — служебное поле. Инициализируется константой 'Rsv2'.
DDB_Reserved3 — служебное поле. Инициализируется константой 'Rsv3'.
Содержание раздела