INT 20 P - Microsoft Windows - VMINI / ENABLE - VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. SERVICES VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. = 0037h Note: the desired VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. identifier SeeAlso: INT 2F/AX=1684h"DEVICE API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running. Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes.",INT 30"Windows",#01265,#01340 (Table 01300) Values for VMINI / ENABLE (VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. ID 0037h) service number: 0000h get version Return: CF clear EAX = version (AH = major, AL = minor) 0001h "VMINI_Update" ??? (performs VMMCall 1800Eh, then falls through to service 04h) Return: EAX = system time??? 0002h "VMINI_Status" get current ??? Return: EAX = ??? 0003h "VMINI_DisplayError" (schedules a global event via VMMCall 1800Eh) Return: ??? 0004h "VMINI_SetTimeStamp" (performs VMMCall 100CFh) Return: EAX = system time 0005h "VMINI_Siren" (call ??? priority event) Return: nothing 0006h "VMINI_RegisterAccess" (set ??? / get ???) EDI -> buffer containing data to copy into VxDA virtual device driver for Windows 3.x or 95. So called because nearly all of the Windows 3.0 drivers had names of the form "VdeviceD". See also device driver. and space for results Return: EDI buffer updated 0007h "VMINI_GetData" EBX = ??? flags (bits 2,15,17,18 checked) EDI -> ??? ??? Return: ??? 0008h "VMINI_ShutDownItem" (schedules a global event via VMMCall 1800Eh) Return: ??? 0009h "VMINI_RegisterSK" (get ??? data) EDI -> buffer for data (see #01301) Return: EDI buffer updated if large enough SeeAlso: #01299,#01302,#02677 at INT 2F/AX=1684h/BX=0037h Format of ENABLE.VXD ??? data: Offset Size Description (Table 01301) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. (ret) length of data, including this word (call) length of buffer 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> 24-byte (or larger) buffer 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> 20-byte buffer 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> 260-byte buffer 10h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> 260-byte buffer SeeAlso: #01300