💾 Archived View for uscoffings.net › retro-computing › components › PC › interrupts › INTERRUP.F captured on 2023-01-29 at 06:54:29.
⬅️ Previous capture (2022-06-04)
-=-=-=-=-=-=-
Interrupt List, part 6 of 18 Copyright (c) 1989-1999,2000 Ralf Brown --------O-20--------------------------------- INT 20 - Minix - SEND/RECEIVE MESSAGE AX = process ID of other process BX -> message CX = operation (1 send, 2 receive, 3 send&receive) Program: Minix is a Version 7 Unix-compatible operating system by Andrew Tanenbaum Note: the message contains the system call number (numbered as in V7 Unix(tm)) and the call parameters --------D-20--------------------------------- INT 20 - DOS 1+ - TERMINATE PROGRAM CS = PSP segment Return: never Notes: (see INT 21/AH=00h) this function sets the program's return code (ERRORLEVEL) to 00h SeeAlso: INT 21/AH=00h,INT 21/AH=4Ch --------G-20--------------------------------- INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER ??? Return: ??? SeeAlso: INT 21"COMTROL" --------W-20----Vx0001----------------------- INT 20 P - Microsoft Windows - VMM - VxD SERVICES VxD = 0001h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01265) Values for VMM (VxD ID 0001h) service number: 0000h get version 0001h get current VM handle 0002h test current VM handle 0003h get system VM handle 0004h test system VM handle 0005h validate VM handle 0006h get VMM reenter count 0007h begin reentrant execution 0008h end reentrant execution 0009h install V86 breakpoint 000Ah remove V86 breakpoint 000Bh allocate V86 callback 000Ch allocation PM callback 000Dh call when VM returns 000Eh schedule global event 000Fh schedule VM event 0010h call global event 0011h call VM event 0012h cancel global event 0013h cancel VM event 0014h call priority VM event 0015h cancel priority VM event 0016h get NMI handler address 0017h set NMI handler address 0018h hook NMI event 0019h call when VM interrupts enabled 001Ah enable VM interrupts 001Bh disable VM interrupts 001Ch map flat 001Dh map linear to VM address 001Eh adjust execution priority 001Fh begin critical section 0020h end critical section 0021h end critical section and suspend 0022h claim critical section 0023h release critical section 0024h call when not critical 0025h create semaphore 0026h destroy semaphore 0027h wait on semaphore 0028h signal semaphore 0029h get critical section status 002Ah call when task switched 002Bh suspend VM 002Ch resume VM 002Dh no-fail resume VM 002Eh nuke VM 002Fh crash current VM 0030h get execution focus 0031h set execution focus 0032h get time slice priority 0033h set time slice priority 0034h get time slice granularity 0035h set time slice granularity 0036h get time slice information 0037h adjust execution time 0038h release time slice 0039h wake up VM 003Ah call when idle 003Bh get next VM handle 003Ch set global timeout 003Dh set VM timeout 003Eh cancel timeout 003Fh get system time Return: EAX = time in milliseconds that Windows has been running 0040h get VM execution time 0041h hook V86 interrupt chain 0042h get V86 interrupt vector 0043h set V86 interrupt vector 0044h get PM interrupt vector 0045h set PM interrupt vector 0046h simulate interrupt 0047h simulate IRET 0048h simulate far call 0049h simulate far jump 004Ah simulate far RET 004Bh simulate far RET N 004Ch build interrupt stack frame 004Dh simulate push 004Eh simulate pop 004Fh _HeapAllocate 0050h _HeapReAllocate 0051h _HeapFree 0052h _HeapGetSize 0053h _PageAllocate 0054h _PageReAllocate 0055h _PageFree 0056h _PageLock 0057h _PageUnLock 0058h _PageGetSizeAddr 0059h _PageGetAllocInfo 005Ah _GetFreePageCount 005Bh _GetSysPageCount 005Ch _GetVMPgCount 005Dh _MapIntoV86 005Eh _PhysIntoV86 005Fh _TestGlobalV86Mem 0060h _ModifyPageBits 0061h copy page table 0062h map linear into V86 0063h linear page lock 0064h linear page unlock 0065h _SetResetV86Pageabl 0066h _GetV86PageableArray 0067h _PageCheckLinRange 0068h page out dirty pages 0069h discard pages 006Ah _GetNulPageHandle 006Bh get first V86 page 006Ch map physical address to linear address 006Dh _GetAppFlatDSAlias 006Eh _SelectorMapFlat 006Fh _GetDemandPageInfo 0070h _GetSetPageOutCount 0071h hook V86 page 0072h assign device V86 pages 0073h deassign device V86 pages 0074h get array of V86 pages for device 0075h _SetNULPageAddr 0076h allocate GDT selector 0077h free GDT selector 0078h allocate LDT selector 0079h free LDT selector 007Ah _BuildDescriptorDWORDs 007Bh get descriptor 007Ch set descriptor 007Dh toggle HMA 007Eh get fault hook addresses 007Fh hook V86 fault 0080h hook PM fault 0081h hook VMM fault 0082h begin nested V86 execution 0083h begin nested execution 0084h execute V86-mode interrupt 0085h resume execution 0086h end nested execution 0087h allocate PM application callback area 0088h get current PM application callback area 0089h set V86 execution mode 008Ah set PM execution mode 008Bh begin using locked PM stack 008Ch end using locked PM stack 008Dh save client state 008Eh restore client state 008Fh execute VxD interrupt STACK: WORD interrupt number other registers as required by interrupt call Return: registers as returned by interrupt call 0090h hook device service EAX = service ID (high word = VxD ID, low = service number) ESI -> new handler 0091h hook device V86 API 0092h hook device PM API 0093h system control (see also #02657) 0094h simulate I/O 0095h install multiple I/O handlers 0096h install I/O handler DX = I/O port address ESI -> handler to call when I/O access attempted??? 0097h enable global trapping DX = I/O port address 0098h enable local trapping DX = I/O port address 0099h disable global trapping DX = I/O port address 009Ah disable local trapping DX = I/O port address 009Bh create list 009Ch destroy list 009Dh allocate list 009Eh attach list 009Fh attach list tail 00A0h insert into list 00A1h remove from list 00A2h deallocate list 00A3h get first item in list 00A4h get next item in list 00A5h remove first item in list 00A6h add instance item 00A7h allocate device callback area 00A8h allocate global V86 data area 00A9h allocate temporary V86 data area 00AAh free temporary V86 data area 00ABh get decimal integer from profile 00ACh convert decimal string to integer 00ADh get fixed-point number from profile 00AEh convert fixed-point string 00AFh get hex integer from profile 00B0h convert hex string to integer 00B1h get boolean value from profile 00B2h convert boolean string 00B3h get string from profile 00B4h get next string from profile 00B5h get environment string 00B6h get exec path 00B7h get configuration directory 00B8h open file 00B9h get PSP segment 00BAh get DOS vectors 00BBh get machine information 00BCh get/set HMA information 00BDh set system exit code 00BEh fatal error handler 00BFh fatal memory error 00C0h update system clock 00C1h test if debugger installed 00C2h output debugger string 00C3h output debugger character 00C4h input debugger character 00C5h debugger convert hex to binary 00C6h debugger convert hex to decimal 00C7h debugger test if valid handle 00C8h validate client pointer 00C9h test reentry 00CAh queue debugger string 00CBh log procedure call 00CCh debugger test current VM 00CDh get PM interrupt type 00CEh set PM interrupt type 00CFh get last updated system time 00D0h get last updated VM execution time 00D1h test if double-byte character-set lead byte 00D2h _AddFreePhysPage 00D3h _PageResetHandlePAddr 00D4h _SetLastV86Page 00D5h _GetLastV86Page 00D6h _MapFreePhysReg 00D7h _UnmapFreePhysReg 00D8h _XchgFreePhysReg 00D9h _SetFreePhysRegCalBk 00DAh get next arena (MCB) 00DBh get name of ugly TSR 00DCh get debug options 00DDh set physical HMA alias 00DEh _GetGlblRng0V86IntBase 00DFh add global V86 data area 00E0h get/set detailed VM error 00E1h Is_Debug_Chr 00E2h clear monochrome screen 00E3h output character to mono screen 00E4h output string to mono screen 00E5h set current position on mono screen 00E6h get current position on mono screen 00E7h get character from mono screen 00E8h locate byte in ROM 00E9h hook invalid page fault 00EAh unhook invalid page fault 00EBh set delete on exit file 00ECh close VM 00EDh "Enable_Touch_1st_Meg" 00EEh "Disable_Touch_1st_Meg" 00EFh install exception handler 00F0h remove exception handler 00F1h "Get_Crit_Status_No_Block" 00F2h "_Schedule_VM_RTI_Event" 00F3h "_Trace_Out_Service" 00F4h "_Debug_Out_Service" 00F5h "_Debug_Flags_Service" 00F6h VMM add import module name 00F7h VMM Add DDB 00F8h VMM Remove DDB 00F9h get thread time slice priority 00FAh set thread time slice priority 00FBh schedule thread event 00FCh cancel thread event 00FDh set thread timeout 00FEh set asynchronous timeout 00FFh "_AllocatreThreadDataSlot" 0100h "_FreeThreadDataSlot" 0101h create Mutex 0102h destroy Mutex 0103h get Mutex owner 0104h call when thread switched 0105h create thread 0106h start thread 0107h terminate thread 0108h get current thread handle 0109h test current thread handle 010Ah "Get_Sys_Thread_Handle" 010Bh "Test_Sys_Thread_Handle" 010Ch "Validate_Thread_Handle" 010Dh "Get_Initial_Thread_Handle" 010Eh "Test_Initial_Thread_Handle" 010Fh "Debug_Test_Valid_Thread_Handle" 0110h "Debug_Test_Cur_Thread" 0111h "VMM_GetSystemInitState" 0112h "Cancel_Call_When_Thread_Switched" 0113h "Get_Next_Thread_Handle" 0114h "Adjust_Thread_Exec_Priority" 0115h "_Deallocate_Device_CB_Area" 0116h "Remove_IO_Handler" 0117h "Remove_Mult_IO_Handlers" 0118h unhook V86 interrupt chain 0119h unhook V86 fault handler 011Ah unhook PM fault handler 011Bh unhook VMM fault handler 011Ch unhook device service 011Dh "_PageReserve" 011Eh "_PageCommit" 011Fh "_PageDecommit" 0120h "_PagerRegister" 0121h "_PagerQuery" 0122h "_PagerDeregister" 0123h "_ContextCreate" 0124h "_ContextDestroy" 0125h "_PageAttach" 0126h "_PageFlush" 0127h "_SignalID" 0128h "_PageCommitPhys" 0129h "_Register_Win32_Services" 012Ah "Cancel_Call_When_Not_Critical" 012Bh "Cancel_Call_When_Idle" 012Ch "Cancel_Call_When_Task_Switched" 012Dh "_Debug_Printf_Service" 012Eh enter Mutex 012Fh leave Mutex 0130h simulate VM I/O 0131h "Signal_Semaphore_No_Switch" 0132h "_MMSwitchContext" 0133h "_MMModifyPermissions" 0134h "_MMQuery" 0135h "_EnterMustComplete" 0136h "_LeaveMustComplete" 0137h "_ResumeExecMustComplete" 0138h get thread termination status 0139h "_GetInstanceInfo" 013Ah "_ExecIntMustComplete" 013Bh "_ExecVxDIntMustComplete" 013Ch begin V86 serialization 013Dh unhook V86 page 013Eh "VMM_GetVxDLocationList" 013Fh "VMM_GetDDBList" get start of VxD chain (see also #02657 at INT 2F/AX=1684h/BX=0017h) 0140h unhook NMI event 0141h "Get_Instanced_V86_Int_Vector" 0142h get or set real DOS PSP 0143h call priority thread event 0144h "Get_System_Time_Address" 0145h "Get_Crit_Status_Thread" 0146h "Get_DDB" 0147h "Directed_Sys_Control" 0148h "_RegOpenKey" 0149h "_RegCloseKey" 014Ah "_RegCreateKey" 014Bh "_RegDeleteKey" 014Ch "_RegEnumKey" 014Dh "_RegQueryValue" 014Eh "_RegSetValue" 014Fh "_RegDeleteValue" 0150h "_RegEnumValue" 0151h "_RegQueryValueEx" 0152h "_RegSetValueEx" 0153h "_CallRing3" 0154h "Exec_PM_Int" 0155h "_RegFlushKey" 0156h "_PageCommitContig" 0157h "_GetCurrentContext" 0158h "_LocalizeSprintf" 0159h "_LocalizeStackSprintf" 015Ah "Call_Restricted_Event" 015Bh "Cancel_Restricted_Event" 015Ch "Register_PEF_Provider" 015Dh "_GetPhysPageInfo" 015Eh "_RegQueryInfoKey" 015Fh "MemArb_Reserve_Pages" 0160h "Time_Slice_Sys_VM_Idle" 0161h "Time_Slice_Sleep" 0162h "Boost_With_Decay" 0163h "Set_Inversion_Pri" 0164h "Reset_Inversion_Pri" 0165h "Release_Inversion_Pri" 0166h "Get_Thread_Win32_Pri" 0167h "Set_Thread_Win32_Pri" 0168h "Set_Thread_Static_Boost" 0169h "Set_VM_Static_Boost" 016Ah "Release_Inversion_Pri_ID" 016Bh "Attach_Thread_To_Group" 016Ch "Detach_Thread_From_Group" 016Dh "Set_Group_Static_Boost" 016Eh "_GetRegistryPath" 016Fh "_GetRegistryKey" 0170h "_CleanupNestedExec" 0171h "_RegRemapPreDefKey" 0172h "End_V86_Serialization" 0173h "_Assert_Range" 0174h "_Sprintf" 0175h "_PageChangePager" 0176h "_RegCreateDynKey" 0177h "RegQMulti" 0178h "Boost_Thread_With_VM" 0179h "Get_Boot_Flags" 017Ah "Set_Boot_Flags" 017Bh "_lstrcpyn" 017Ch "_lstrlen" 017Dh "_lmemcpy" 017Eh "_GetVxDName" 017Fh "Force_Mutexes_Free" 0180h "Restore_Forced_Mutexes" 0181h "_AddReclaimableItem" 0182h "_SetReclaimableItem" 0183h "_EnumReclaimableItem" 0184h "Time_Slice_Wake_Sys_VM" 0185h "VMM_Replace_Global_Environment" 0186h "Begin_Non_Serial_Nest_V86_Exec" 0187h "Get_Nest_Exec_Status" 0188h "Open_Boot_Log" 0189h "Write_Boot_Log" 018Ah "Close_Boot_Log" 018Bh "EnableDisable_Boot_Log" 018Ch "_Call_On_My_Stack" 018Dh "Get_Inst_V86_Int_Vec_Base" 018Eh "_lstrcmpi" 018Fh "_strupr" 0190h "Log_Fault_Call_Out" 0191h "_AtEventTime" 0191h ...last service for Windows95 SP1 811Ch unhook device service??? (called by KEYREMAP.VXD) EAX = service ID (high word = VxD ID, low = service number) ESI -> handler SeeAlso: #01266,#01267,INT 2F/AX=1684h/BX=0001h --------W-20----Vx0002----------------------- INT 20 P - Microsoft Windows - DEBUG - VxD SERVICES VxD = 0002h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01266,#01340 (Table 01266) Values for DEBUG (VxD ID 0002h) service number: 0000h get version 0001h "DEBUG_Fault" 0002h "DEBUG_CheckFault" 0003h "_DEBUG_LoadSyms" SeeAlso: #01265,#01267 --------W-20----Vx0003----------------------- INT 20 P - Microsoft Windows - VPICD - VxD SERVICES VxD = 0003h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01267,#01340 (Table 01267) Values for VPICD (VxD ID 0003h) service number: 0000h get version 0001h virtualize IRQ 0002h set interrupt request 0003h clear interrupt request 0004h physical EOI 0005h get complete status 0006h get status 0007h test physical request 0008h physically mask 0009h physically unmask 000Ah set automatic masking 000Bh get IRQ complete status 000Ch convert handle to IRQ 000Dh convert IRQ to interrupt 000Eh convert interrupt to IRQ 000Fh call on hardware interrupt 0010h force default owner 0011h force default behavior 0012h "VPICD_Auto_Mask_At_Inst_Swap" 0013h "VPICD_Begin_Inst_Page_Swap" 0014h "VPICD_End_Inst_Page_Swap" 0015h "VPICD_Virtual_EOI" 0016h "VPICD_Get_Virtualization_Count" 0017h "VPICD_Post_Sys_Critical_Init" 0018h "VPICD_VM_SlavePIC_Mask_Change" SeeAlso: #01265,#01268,INT 2F/AX=1684h/BX=0003h --------W-20----Vx0004----------------------- INT 20 P - Microsoft Windows - VDMAD - VxD SERVICES VxD = 0004h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01268) Values for VDMAD (VxD ID 0004h) service number: 0000h get version 0001h virtualize channel 0002h get region information 0003h set region information 0004h get virtual state 0005h set virtual state 0006h set physical state 0007h mask channel 0008h unmask channel 0009h lock DMA region 000Ah unlock DMA region 000Bh scatter lock 000Ch scatter unlock 000Dh reserve buffer space 000Eh request buffer 000Fh release buffer 0010h copy to buffer 0011h copy from buffer 0012h default handler 0013h disable translation 0014h enable translation 0015h get EISA address mode 0016h set EISA address mode 0017h unlock DMA region (ND) 0018h "VDMAD_Phys_Mask_Channel" 0019h "VDMAD_Phys_Unmask_Channel" 001Ah "VDMAD_Unvirtualize_Channel" 001Bh "VDMAD_Set_IO_Address" 001Ch "VDMAD_Get_Phys_Count" 001Dh "VDMAD_Get_Phys_Status" 001Eh "VDMAD_Get_Max_Phys_Page" 001Fh "VDMAD_Set_Channel_Callbacks" 0020h "VDMAD_Get_Virt_Count" 0021h "VDMAD_Set_Virt_Count" 0021h ...last service for Windows95 SP1 SeeAlso: #01267,#02646,#02683 at INT 2F/AX=1684h/BX=0444h --------W-20----Vx0005----------------------- INT 20 P - Microsoft Windows - VTD - VxD SERVICES VxD = 0005h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01269) Values for VTD (VxD ID 0005h) service number: 0000h get version 0001h update system clock 0002h get interrupt period 0003h begin minimum interrupt period 0004h end minimum interrupt period 0005h disable trapping 0006h enable trapping 0007h get real time Return: EDX:EAX = time in 840ns units since Windows was started 0008h "VTD_Get_Date_And_Time" 0009h "VTD_Adjust_VM_Count" 000Ah "VTD_Delay" SeeAlso: #02646 at INT 2F/AX=1684h/BX=0005h --------W-20----Vx0006----------------------- INT 20 P - Microsoft Windows - V86MMGR - VxD SERVICES VxD = 0006h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01270) Values for V86MMGR (VxD ID 0006h) service number: 00h get version 01h allocate V86 pages 02h set EMS and XMS limits 03h get EMS and XMS limits 04h set mapping information 05h get mapping information 06h Xlat API 07h load client pointer 08h allocate buffer 09h free buffer 0Ah get Xlat buffer state 0Bh set Xlat buffer state 0Ch get VM flat selector 0Dh map pages 0Eh free page map region 0Fh _LocalGlobalReg 10h get page status 11h set local A20 12h reset base pages 13h set available mapped pages 14h "V86MMGR_NoUMBInitCalls" 15h "V86MMGR_Get_EMS_XMS_Avail" 16h "V86MMGR_Toggle_HMA" EAX = ??? 17h "V86MMGR_Dev_Init" 18h "V86MMGR_Alloc_UM_Page" SeeAlso: #02646,#01271,INT 2F/AX=1684h"DEVICE API" --------W-20----Vx0007----------------------- INT 20 P - Microsoft Windows - PageSwap - VxD SERVICES VxD = 0007h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01271) Values for PageSwap (VxD ID 0007h) service number: 00h get version 01h test create 02h create swap file 03h destroy swap file 04h in 05h out 06h test if I/O valid 07h "Read_Or_Write" 08h "Grow_File" 09h "Init_File" SeeAlso: #01270,#01272,#01273,#02648 --------W-20----Vx0009----------------------- INT 20 P - Microsoft Windows - REBOOT - VxD SERVICES VxD = 0009h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01272) Values for REBOOT (VxD ID 0009h) service number: 00h get REBOOT version??? 01h ??? 02h ??? 03h ...last service for Windows95 SP1 SeeAlso: #01271,#01273,#02642 --------W-20----Vx000A----------------------- INT 20 P - Microsoft Windows - VDD - VxD SERVICES VxD = 000Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01273) Values for VDD (VxD ID 000Ah) service number: 00h get version 01h PIF state 02h get GrabRtn 03h hide cursor 04h set VM type 05h get ModTime 06h set HCurTrk 07h message clear screen 08h message foreground color 09h message background color 0Ah message output text 0Bh message set cursor position 0Ch query access 0Dh "VDD_Check_Update_Soon" 0Eh "VDD_Get_Mini_Dispatch_Table" 0Fh "VDD_Register_Virtual_Port" DX = base I/O port number CL = number of contiguous ports??? 10h "VDD_Get_VM_Info" 11h "VDD_Get_Special_VM_IDs" Return: ESI = ??? EDI = ??? 12h "VDD_Register_Extra_Screen_Selector" 13h "VDD_Takeover_VGA_Port" DX = VGA I/O port number (03C2h, etc.) ECX -> routine to call on I/O access Return: ECX -> previous handler (to be jumped to at end of new handler) 14h ??? 15h ??? 16h ...last service for Windows95 SP1 SeeAlso: #01272,#01274,#02648 --------W-20----Vx000B----------------------- INT 20 P - Microsoft Windows - VSD - VxD SERVICES VxD = 000Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01274) Values for VSD (VxD ID 000Bh) service number: 00h get version 01h bell 02h sound on 03h "VSD_TakeSoundPort" SeeAlso: #01273,#01275 --------W-20----Vx000C----------------------- INT 20 P - Microsoft Windows - VMD / VMOUSE - VxD SERVICES VxD = 000Ch Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01275) Values for VMD / VMOUSE (VxD ID 000Ch) service number: 0000h get version 0001h set mouse type 0002h get mouse owner 0003h "VMOUSE_Post_Pointer_Message" 0004h "VMOUSE_Set_Cursor_Proc" 0005h "VMOUSE_Call_Cursor_Proc" 0006h "VMOUSE_Set_Mouse_Data~Get_Mouse_Data" 0007h "VMOUSE_Manipulate_Pointer_Message" 0008h "VMOUSE_Set_Middle_Button" 0009h "VMD_Set_Middle_Button" 000Ah "VMD_Enable_Disable_Mouse_Events" 000Bh "VMD_Post_Absolute_Pointer_Message" ...last service for Windows95 SP1 SeeAlso: #01274,#01276,INT 2F/AX=1684h/BX=000Ch --------W-20----Vx000D----------------------- INT 20 P - Microsoft Windows - VKD - VxD SERVICES VxD = 000Dh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01276) Values for VKD (VxD ID 000Dh) service number: 0000h get version 0001h define hotkey 0002h remove hotkey 0003h locally enable hotkey 0004h locally disable hotkey 0005h reflect hotkey 0006h cancel hotkey state 0007h force keys 0008h get keyboard owner 0009h define paste mode 000Ah start pasting 000Bh cancel paste 000Ch get message key 000Dh peek message key 000Eh flush message key queue 000Fh "VKD_Enable_Keyboard" 0010h "VKD_Disable_Keyboard" 0011h "VKD_Get_Shift_State" 0012h "VKD_Filter_Keyboard_Input" 0013h "VKD_Put_Byte" 0014h "VKD_Set_Shift_State" ...last service for Windows95 SP1 SeeAlso: #01275,#01277 --------W-20----Vx000E----------------------- INT 20 P - Microsoft Windows - VCD - VxD SERVICES VxD = 000Eh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01277) Values for VCD (VxD ID 000Eh) service number: 0000h get version 0001h set port global 0002h get focus 0003h virtualize port 0004h "VCD_Acquire_Port" 0005h "VCD_Free_Port" 0006h "VCD_Acquire_Port_Windows_Style" 0007h "VCD_Free_Port_Windows_Style" 0008h "VCD_Steal_Port_Windows_Style" 0009h "VCD_Find_COM_Index" 000Ah "VCD_Set_Port_Global_Special" 000Bh "VCD_Virtualize_Port_Dynamic" 000Ch "VCD_Unvirtualize_Port_Dynamic" ...last service for Windows95 SP1 SeeAlso: #01276,#01278 --------W-20----Vx0010----------------------- INT 20 P - Microsoft Windows - BlockDev / IOS - VxD SERVICES VxD = 0010h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01278) Values for BlockDev/IOS (VxD ID 0010h) service number: 0000h get version 0001h register device 0002h find INT 13 drive 0003h get device list 0004h send command 0005h command complete 0006h synchronous command 0007h "IOS_Register" 0008h "IOS_Requestor_Service" 0009h "IOS_Exclusive_Access" 000Ah "IOS_Send_Next_Command" 000Bh "IOS_Set_Async_Time_Out" 000Ch "IOS_Signal_Semaphore_No_Switch" 000Dh "IOSIdleStatus" 000Eh "IOSMapIORSToI24" 000Fh "IOSMapIORSToI21" 0010h "PrintLog" SeeAlso: #01277,#01279 --------W-20----Vx0011----------------------- INT 20 P - Microsoft Windows - VMCPD - VxD SERVICES VxD = 0011h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01279) Values for VMCPD (VxD ID 0011h) service number: 0000h "VMCPD_Get_Version" 0001h "VMCPD_Get_Virt_State" 0002h "VMCPD_Set_Virt_State" 0003h "VMCPD_Get_CR0_State" 0004h "VMCPD_Set_CR0_State" 0005h "VMCPD_Get_Thread_State" 0006h "VMCPD_Set_Thread_State" 0007h "_VMCPD_Get_FP_Instruction_Size" 0008h "VMCPD_Set_Thread_Precision" SeeAlso: #01278,#01280,#02642 --------W-20----Vx0012----------------------- INT 20 P - Microsoft Windows - EBIOS - VxD SERVICES VxD = 0012h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01280) Values for EBIOS (VxD ID 0012h) service number: 00h get EBIOS version 01h get unused memory SeeAlso: #01279,#01281 --------W-20----Vx0014----------------------- INT 20 P - Microsoft Windows - VNETBIOS - VxD SERVICES VxD = 0014h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01281) Values for VNETBIOS (VxD ID 0014h) service number: 00h get version 01h register 02h submit 03h enum 04h deregister 05h register2 06h map 07h enum2 SeeAlso: #01280,#01282 --------W-20----Vx0015----------------------- INT 20 P - Microsoft Windows - DOSMGR - VxD SERVICES VxD = 0015h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01282) Values for DOSMGR (VxD ID 0015h) service number: 0000h get version 0001h set exec VM data 0002h coyp VM drive state 0003h execute VM 0004h get InDOS pointer 0005h add device 0006h remove device 0007h instance device 0008h get DOS critical status 0009h enable InDOS polling 000Ah backfill allowed 000Bh "LocalGlobalReg" 000Ch "Init_UMB_Area" 000Dh "Begin_V86_App" 000Eh "End_V86_App" 000Fh "Alloc_Local_Sys_VM_Mem" EAX = number of paragraphs??? to allocate 0010h "DOSMGR_Grow_CDSs" 0011h "DOSMGR_Translate_Server_DOS_Call" 0012h "DOSMGR_MMGR_PSP_Change_Notifier" SeeAlso: #01281,#02656 at INT 2F/AX=1684h/BX=0015h --------W-20----Vx0017----------------------- INT 20 P - Microsoft Windows - SHELL - VxD SERVICES VxD = 0017h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01283) Values for SHELL (VxD ID 0017h) service number: 0000h get version 0001h resolve contention 0002h event 0003h SYSMODAL message 0004h message 0005h get VM information 0006h "_SHELL_PostMessage" 0007h "_SHELL_WinExec" 0008h "_SHELL_CallDll" 0009h "SHELL_OpenClipboard" 000Ah "SHELL_SetClipboardData" 000Bh "SHELL_GetClipboardData" 000Ch "SHELL_CloseClipboard" 000Dh "_SHELL_Install_Taskman_Hooks" 000Eh "SHELL_Hook_Properties" 000Fh "SHELL_Unhook_Properties" 0010h "SHELL_OEMKeyScan" 0011h "SHELL_Update_User_Activity" 0012h "_SHELL_UnhookSystemBroadcast" 0013h "_SHELL_LocalAllocEx" 0014h "_SHELL_LocalFree" 0015h "_SHELL_LoadLibrary" 0016h "_SHELL_FreeLibrary" 0017h "_SHELL_GetProcAddress" 0018h "_SHELL_CallDll" 0019h "_SHELL_SuggestSingleMSDOSMode" 001Ah "SHELL_CheckHotkeyAllowed" 001Bh "_SHELL_GetDOSAppInfo" SeeAlso: #01282,#01284,#02657 at INT 2F/AX=1684h/BX=0017h --------W-20----Vx0018----------------------- INT 20 P - Microsoft Windows - VMPoll - VxD SERVICES VxD = 0018h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01284) Values for VMPoll (VxD ID 0018h) service number: 00h get version 01h enable/disable 02h reset detection 03h check idle SeeAlso: #01269,#02657 at INT 2F/AX=1684h/BX=0017h --------W-20----Vx001A----------------------- INT 20 P - Microsoft Windows - DOSNET - VxD SERVICES VxD = 001Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01285) Values for DOSNET (VxD ID 001Ah) service number: 00h get version 01h send FILESYSCHANGE 02h do PSP adjust SeeAlso: #01284,#01286 --------W-20----Vx001B----------------------- INT 20 P - Microsoft Windows - VFD - VxD SERVICES VxD = 001Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01286,#01340 (Table 01286) Values for VFD (VxD ID 001Bh) service number: 0000h get version SeeAlso: #01285,#01287 --------W-20----Vx001C----------------------- INT 20 P - Microsoft Windows - LoadHi - VxD SERVICES VxD = 001Ch Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01287) Values for LoadHi (VxD ID 001Ch) service number: 00h get version Return: CF clear EAX = version (AH = major, AL = minor) ESI -> ASCIZ signature "LoadHi" SeeAlso: #01286,#01288 --------W-20----Vx0020----------------------- INT 20 P - Microsoft Windows - Int13 - VxD SERVICES VxD = 0020h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01288) Values for Int13 (VxD ID 0020h) service number: 00h get version 01h device registered 02h translate VM interrupt 03h hooking BIOS interrupt 04h unhooking BIOS interrupt SeeAlso: #01287,#01289 --------W-20----Vx0021----------------------- INT 20 P - Microsoft Windows - PAGEFILE - VxD SERVICES VxD = 0021h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01289) Values for PAGEFILE (VxD ID 0021h) service number: 00h get version 01h init file 02h clean up 03h grow file 04h read or write 05h cancel 06h test I/O valid 07h "Get_Size_Info" 08h "Set_Async_Manager" 09h "Call_Async_Manager" SeeAlso: #01288,#02661 at INT 2F/AX=1684h/BX=0021h --------W-20----Vx0026----------------------- INT 20 P - Microsoft Windows - VPOWERD - VxD SERVICES VxD = 0026h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01290) Values for VPOWERD (VxD ID 0026h) service number: 00h get version Return: CF clear EAX = version (AH = major, AL = minor) 01h get APM BIOS version Return: CF clear EAX = APM BIOS version 02h get current power management level Return: CF clear EAX = power management level 03h enable/disable power management (see INT 15/AX=5308h) Return: EAX = error code (see #02665) or 00000000h if successful 04h set power state (see INT 15/AX=5307h) ??? Return: EAX = error code (see #02665) or 00000000h if successful 05h set system power status Return: EAX = error code (see #02665) or 00000000h if successful 06h restore APM power-on defaults (see INT 15/AX=5309h) Return: EAX = error code (see #02665) or 00000000h if successful 07h get power status (see INT 15/AX=530Ah) Return: ??? 08h get APM 1.1 power state (see INT 15/AX=530Ch) Return: ??? 09h invoke OEM APM function ??? -> bufer containing parameters for INT 15/AX=5380h Return: EAX = error code (see #02665) or 00000000h if successful buffer updated if successful 0Ah register power handler ??? Return: EAX = error code (see #02665) or 00000000h if successful 0Bh deregister power handler ??? Return: EAX = error code (see #02665) or 00000000h if successful 0Ch Win32 get system power status 0Dh Win32 set system power status SeeAlso: #01289,#01291,INT 2F/AX=1684h/BX=0026h --------W-20----Vx0027----------------------- INT 20 P - Microsoft Windows - VXDLDR - VxD SERVICES VxD = 0027h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01291) Values for VXDLDR (VxD ID 0027h) service number: 0000h "VXDLDR_Get_Version" 0001h "VXDLDR_LoadDevice" 0002h "VXDLDR_UnloadDevice" 0003h "VXDLDR_DevInitSucceeded" 0004h "VXDLDR_DevInitFailed" 0005h "VXDLDR_GetDeviceList" 0006h "VXDLDR_UnloadMe" 0007h "PELDR_LoadModule" 0008h "PELDR_GetModuleHandle" 0009h "PELDR_GetModuleUsage" 000Ah "PELDR_GetEntryPoint" 000Bh "PELDR_GetProcAddress" 000Ch "PELDR_AddExportTable" 000Dh "PELDR_RemoveExportTable" 000Eh "PELDR_FreeModule" 000Fh "VXDLDR_Notify" 0010h "_PELDR_InitCompleted" 0011h "_PELDR_LoadModuleEx" SeeAlso: #01289,#01292 --------W-20----Vx0028----------------------- INT 20 P - Microsoft Windows - NDIS - VxD SERVICES VxD = 0028h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01292) Values for NDIS (VxD ID 0028h) service number: 00h "NdisGetVersion" 01h "NdisAllocateSpinLock" 02h "NdisFreeSpinLock" 03h "NdisAcquireSpinLock" 04h "NdisReleaseSpinLock" 05h "NdisOpenConfiguration" 06h "NdisReadConfiguration" 07h "NdisCloseConfiguration" 08h "NdisReadEisaSlotInformation" 09h "NdisReadMcaPosInformation" 0Ah "NdisAllocateMemory" 0Bh "NdisFreeMemory" 0Ch "NdisSetTimer" 0Dh "NdisCancelTimer" 0Eh "NdisStallExecution" 0Fh "NdisInitializeInterrupt" 10h "NdisRemoveInterrupt" 11h "NdisSynchronizeWithInterrupt" 12h "NdisOpenFile" 13h "NdisMapFile" 14h "NdisUnmapFile" 15h "NdisCloseFile" 16h "NdisAllocatePacketPool" 17h "NdisFreePacketPool" 18h "NdisAllocatePacket" 19h "NdisReinitializePacket" 1Ah "NdisFreePacket" 1Bh "NdisQueryPacket" 1Ch "NdisAllocateBufferPool" 1Dh "NdisFreeBufferPool" 1Eh "NdisAllocateBuffer" 1Fh "NdisCopyBuffer" 20h "NdisFreeBuffer" 21h "NdisQueryBuffer" 22h "NdisGetBufferPhysicalAddress" 23h "NdisChainBufferAtFront" 24h "NdisChainBufferAtBack" 25h "NdisUnchainBufferAtFront" 26h "NdisUnchainBufferAtBack" 27h "NdisGetNextBuffer" 28h "NdisCopyFromPacketToPacket" 29h "NdisRegisterProtocol" 2Ah "NdisDeregisterProtocol" 2Bh "NdisOpenAdapter" 2Ch "NdisCloseAdapter" 2Dh "NdisSend" 2Eh "NdisTransferData" 2Fh "NdisReset" 30h "NdisRequest" 31h "NdisInitializeWrapper" 32h "NdisTerminateWrapper" 33h "NdisRegisterMac" 34h "NdisDeregisterMac" 35h "NdisRegisterAdapter" 36h "NdisDeregisterAdapter" 37h "NdisCompleteOpenAdapter" 38h "NdisCompleteCloseAdapter" 39h "NdisCompleteSend" 3Ah "NdisCompleteTransferData" 3Bh "NdisCompleteReset" 3Ch "NdisCompleteRequest" 3Dh "NdisIndicateReceive" 3Eh "NdisIndicateReceiveComplete" 3Fh "NdisIndicateStatus" 40h "NdisIndicateStatusComplete" 41h "NdisCompleteQueryStatistics" 42h "NdisEqualString" 43h "NdisNetAddressStringToBinary" 44h "NdisReadNetworkAddress" 45h "NdisWriteErrorLogEntry" 46h "C_MapPhysToLinear" 47h "C_HeapFree" 48h "NdisAllocateSharedMemory" 49h "NdisFreeSharedMemory" ... 5Fh ...last service for Windows95 SP1 SeeAlso: #01291,#01293 --------W-20----Vx002A----------------------- INT 20 P - Microsoft Windows - VWIN32 - VxD SERVICES VxD = 002Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01293) Values for VWIN32 (VxD ID 002Ah) service number: 0000h "VWin32_Get_Version" 0001h "VWin32_Wake_For_Event" 0002h "_VWIN32_QueueUserApc" 0003h "_VWIN32_Get_Thread_Context" 0004h "_VWIN32_Set_Thread_Context" 0005h "_VWIN32_CopyMem" 0006h "_VWIN32_BlockForTermination" 0007h "_VWIN32_Emulate_Npx" 0008h "_VWIN32_CheckDelayedNpxTrap" 0009h "VWIN32_EnterCrstR0" 000Ah "VWIN32_LeaveCrstR0" 000Bh "_VWIN32_FaultPopup" 000Ch "VWIN32_GetContextHandle" 000Dh "VWIN32_GetCurrentProcessHandle" 000Eh "_VWIN32_SetWin32Event" 000Fh "_VWIN32_PulseWin32Event" 0010h "_VWIN32_ResetWin32Event" 0011h "_VWIN32_WaitSingleObject" 0012h "_VWIN32_WaitMultipleObjects" 0013h "_VWIN32_CreateRing0Thread" 0014h "_VWIN32_CloseVxDHandle" 0015h "VWIN32_ActiveTimeBiasSet" 0016h "VWIN32_GetCurrentDirectory" 0017h "VWIN32_BlueScreenPopup" 0018h "VWIN32_TerminateApp" 0019h "_VWIN32_QueueKernelAPC" 001Ah "VWIN32_SysErrorBox" 001Bh "_VWIN32_IsClientWin32" 001Ch "VWIN32_IFSRIPWhenLev2Taken" SeeAlso: #01292,#01294 --------W-20----Vx002B----------------------- INT 20 P - Microsoft Windows - VCOMM - VxD SERVICES VxD = 002Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01294) Values for VCOMM (VxD ID 002Bh) service number: 0000h "VCOMM_Get_Version" 0001h "_VCOMM_Register_Port_Driver" 0002h "_VCOMM_Acquire_Port" 0003h "_VCOMM_Release_Port" 0004h "_VCOMM_OpenComm" 0005h "_VCOMM_SetCommState" 0006h "_VCOMM_GetCommState" 0007h "_VCOMM_SetupComm" 0008h "_VCOMM_TransmitCommChar" 0009h "_VCOMM_CloseComm" 000Ah "_VCOMM_GetCommQueueStatus" 000Bh "_VCOMM_ClearCommError" 000Ch "_VCOMM_GetModemStatus" 000Dh "_VCOMM_GetCommProperties" 000Eh "_VCOMM_EscapeCommFunction" 000Fh "_VCOMM_PurgeComm" 0010h "_VCOMM_SetCommEventMask" 0011h "_VCOMM_GetCommEventMask" 0012h "_VCOMM_WriteComm" 0013h "_VCOMM_ReadComm" 0014h "_VCOMM_EnableCommNotification" 0015h "_VCOMM_GetLastError" 0016h "_VCOMM_Steal_Port" 0017h "_VCOMM_SetReadCallBack" 0018h "_VCOMM_SetWriteCallBack" 0019h "_VCOMM_GetSetCommTimeouts" 001Ah "_VCOMM_SetWriteRequest" 001Bh "_VCOMM_SetReadRequest" 001Ch "_VCOMM_Dequeue_Request" 001Dh "_VCOMM_Dequeue_Request" 001Eh "_VCOMM_Enumerate_DevNodes" 001Fh "VCOMM_Map_Win32DCB_To_Ring0" 0020h "VCOMM_Map_Ring0DCB_To_Win32" 0021h "_VCOMM_Get_Contention_Handler" 0022h "_VCOMM_Map_Name_To_Resource" SeeAlso: #01293,#01295 --------W-20----Vx002C----------------------- INT 20 P - Microsoft Windows - SPOOLER - VxD SERVICES VxD = 002Ch Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01295) Values for SPOOLER (VxD ID 002Ch) service number: 0000h get version??? 0001h ??? 0010h ...last service for Windows95 SP1 SeeAlso: #01294,#01296 --------W-20----Vx0032----------------------- INT 20 P - Microsoft Windows - VSERVER - VxD SERVICES VxD = 0032h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01296) Values for VSERVER (VxD ID 0032h) service number: 00h get VSERVER version Return: CF clear EAX = version (AH = major, AL = minor) EBX = ??? (00000000h) 01h allocate ??? AX = ??? ESI = ??? Return: CF clear if successful CF set on error (table full) 02h NOP??? Return: EBX = 00000000h 03h ??? Return: ZF clear SeeAlso: #01295,#01297,INT 2F/AX=1684h/BX=0032h --------W-20----Vx0033----------------------- INT 20 P - Microsoft Windows - CONFIGMG - VxD SERVICES VxD = 0033h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01297) Values for CONFIGMG (VxD ID 0033h) service number: 0000h "_CONFIGMG_Get_Version" 0001h "_CONFIGMG_Initialize" 0002h "_CONFIGMG_Locate_DevNode" 0003h "_CONFIGMG_Get_Parent" 0004h "_CONFIGMG_Get_Child" 0005h "_CONFIGMG_Get_Sibling" 0006h "_CONFIGMG_Get_Device_ID_Size" 0007h "_CONFIGMG_Get_Device_ID" 0008h "_CONFIGMG_Get_Depth" 0009h "_CONFIGMG_Get_Private_DWord" 000Ah "_CONFIGMG_Set_Private_DWord" 000Bh "_CONFIGMG_Create_DevNode" 000Ch "_CONFIGMG_Query_Remove_SubTree" 000Dh "_CONFIGMG_Remove_SubTree" 000Eh "_CONFIGMG_Register_Device_Driver" 000Fh "_CONFIGMG_Register_Enumerator" 0010h "_CONFIGMG_Register_Arbitrator" 0011h "_CONFIGMG_Deregister_Arbitrator" 0012h "_CONFIGMG_Query_Arbitrator_Free_Size" 0013h "_CONFIGMG_Query_Arbitrator_Free_Data" 0014h "_CONFIGMG_Sort_NodeList" 0015h "_CONFIGMG_Yield" 0016h "_CONFIGMG_Lock" 0017h "_CONFIGMG_Unlock" 0018h "_CONFIGMG_Add_Empty_Log_Conf" 0019h "_CONFIGMG_Free_Log_Conf" 001Ah "_CONFIGMG_Get_First_Log_Conf" 001Bh "_CONFIGMG_Get_Next_Log_Conf" 001Ch "_CONFIGMG_Add_Res_Des" 001Dh "_CONFIGMG_Modify_Res_Des" 001Eh "_CONFIGMG_Free_Res_Des" 001Fh "_CONFIGMG_Get_Next_Res_Des" 0020h "_CONFIGMG_Get_Performance_Info" 0021h "_CONFIGMG_Get_Res_Des_Data_Size" 0022h "_CONFIGMG_Get_Res_Des_Data" 0023h "_CONFIGMG_Process_Events_Now" 0024h "_CONFIGMG_Create_Range_List" 0025h "_CONFIGMG_Add_Range" 0026h "_CONFIGMG_Delete_Range" 0027h "_CONFIGMG_Test_Range_Available" 0028h "_CONFIGMG_Dup_Range_List" 0029h "_CONFIGMG_Free_Range_List" 002Ah "_CONFIGMG_Invert_Range_List" 002Bh "_CONFIGMG_Intersect_Range_List" 002Ch "_CONFIGMG_First_Range" 002Dh "_CONFIGMG_Next_Range" 002Eh "_CONFIGMG_Dump_Range_List" 002Fh "_CONFIGMG_Load_DLVxDs" 0030h "_CONFIGMG_Get_DDBs" 0031h "_CONFIGMG_Get_CRC_CheckSum" 0032h "_CONFIGMG_Register_DevLoader" 0033h "_CONFIGMG_Reenumerate_DevNode" 0034h "_CONFIGMG_Setup_DevNode" 0035h "_CONFIGMG_Reset_Children_Marks" 0036h "_CONFIGMG_Get_DevNode_Status" 0037h "_CONFIGMG_Remove_Unmarked_Children" 0038h "_CONFIGMG_ISAPNP_To_CM" 0039h "_CONFIGMG_CallBack_Device_Driver" 003Ah "_CONFIGMG_CallBack_Enumerator" 003Bh "_CONFIGMG_Get_Alloc_Log_Conf" 003Ch "_CONFIGMG_Get_DevNode_Key_Size" 003Dh "_CONFIGMG_Get_DevNode_Key" 003Eh "_CONFIGMG_Read_Registry_Value" 003Fh "_CONFIGMG_Write_Registry_Value" 0040h "_CONFIGMG_Disable_DevNode" 0041h "_CONFIGMG_Enable_DevNode" 0042h "_CONFIGMG_Move_DevNode" 0043h "_CONFIGMG_Set_Bus_Info" 0044h "_CONFIGMG_Get_Bus_Info" 0045h "_CONFIGMG_Set_HW_Prof" 0046h "_CONFIGMG_Recompute_HW_Prof" 0047h "_CONFIGMG_Query_Change_HW_Prof" 0048h "_CONFIGMG_Get_Device_Driver_Private_DWord" 0049h "_CONFIGMG_Set_Device_Driver_Private_DWord" 004Ah "_CONFIGMG_Get_HW_Prof_Flags" 004Bh "_CONFIGMG_Set_HW_Prof_Flags" 004Ch "_CONFIGMG_Read_Registry_Log_Confs" 004Dh "_CONFIGMG_Run_Detection" 004Eh "_CONFIGMG_Call_At_Appy_Time" 004Fh "_CONFIGMG_Fail_Change_HW_Prof" 0050h "_CONFIGMG_Set_Private_Problem" 0051h "_CONFIGMG_Debug_DevNode" 0052h "_CONFIGMG_Get_Hardware_Profile_Info" 0053h "_CONFIGMG_Register_Enumerator_Function" 0054h "_CONFIGMG_Call_Enumerator_Function" 0055h "_CONFIGMG_Add_ID" 0056h "_CONFIGMG_Find_Range" 0057h "_CONFIGMG_Get_Global_State" 0058h "_CONFIGMG_Broadcast_Device_Change_Message" 0059h "_CONFIGMG_Call_DevNode_Handler" 005Ah "_CONFIGMG_Remove_Reinsert_All" Note: the VxD services appear to be identical to the PM/V86 APIs on INT 2F/AX=1684h SeeAlso: #01296,#01299,INT 2F/AX=1684h/BX=0033h --------W-20----Vx0034----------------------- INT 20 P - Microsoft Windows - DWCFGMG.SYS - VxD SERVICES VxD = 0034h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01298) Values for DWCFGMG.SYS (VxD ID 0034h) service number: 00h "CM_GetVersion" get supported DDI version Return: EAX = 00000000h if not installed else AH = major version number AL = minor version number EBX = number of devices controlled by DWCFGMG.SYS 01h "CM_GetConfig" get device configuration EBX = device index EDI -> buffer for configuration information (see #02675) Return: EAX = status (0000h successful, 0001h index out of range) 02h "CM_LockConfig" lock device configuration EDI -> configuration information (see #02675) Return: EAX = status 0000h successful 0001h resource conflict 0002h invalid request 03h "CM_UnlockConfig" unlock device configuration EDI -> configuration information (see #02675) Return: EAX = status (0000h successful, 0001h invalid request) 04h "CME_QueryResources" 05h "CME_AllocResources" 06h "CME_DeallocResources" SeeAlso: INT 2F/AX=1684h/BX=0034h --------W-20----Vx0036----------------------- INT 20 P - Microsoft Windows - VFBACKUP - VxD SERVICES VxD = 0036h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01299) Values for VFBACKUP (VxD ID 0036h) service number: 0000h get version Return: CF clear EAX = version (AH = major, AL = minor) 0001h "VFBACKUP_Lock_NEC" 0002h "VFBACKUP_UnLock_NEC" 0003h "VFBACKUP_Register_NEC" 0004h "VFBACKUP_Register_VFD" 0005h "VFBACKUP_Lock_All_Ports" SeeAlso: #01297,#01300 --------W-20----Vx0037----------------------- INT 20 P - Microsoft Windows - VMINI / ENABLE - VxD SERVICES VxD = 0037h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01300) Values for VMINI / ENABLE (VxD 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 VxD 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 DWORD (ret) length of data, including this word (call) length of buffer 04h DWORD -> 24-byte (or larger) buffer 08h DWORD -> 20-byte buffer 0Ch DWORD -> 260-byte buffer 10h DWORD -> 260-byte buffer SeeAlso: #01300 --------W-20----Vx0038----------------------- INT 20 P - Microsoft Windows - VCOND - VxD SERVICES VxD = 0038h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01302) Values for VCOND (VxD ID 0038h) service number: 0000h get VCOND version Return: CF clear EAX = version (AH = major, AL = minor) 0001h "VCOND_Launch_ConApp_Inherited" SeeAlso: #01303,#01300,#01304 (Table 01303) Values for Windows95 VCOND (Vxd ID 0038h) Win32 service number: 00h get VCOND version Return: EAX = version (AH = major, AL = minor) ... 34h ...last Win32 service for Windows95 SP1 SeeAlso: #01302 --------W-20----Vx003D----------------------- INT 20 P - Microsoft Windows - BIOS - VxD SERVICES VxD = 003Dh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01304) Values for BIOS (VxD ID 003Dh) service number: 00h get version??? 01h ??? 02h ??? 03h ??? SeeAlso: #01302,#01305 --------W-20----Vx003E----------------------- INT 20 P - Microsoft Windows - WSOCK - VxD SERVICES VxD = 003Eh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01305) Values for WSOCK (VxD ID 003Eh) service number: 00h get WSOCK version Return: CF clear AH = major version AL = minor version EAX high word = 0000h 01h ??? EAX = ??? or 00000000h Return: CF clear if successful EAX = 00000000h CF set on error EAX = ??? 02h ??? EAX = ??? or 00000000h Return: ??? 03h ??? 04h ...last service for Windows95 SP1 SeeAlso: #01304,#01306 --------W-20----Vx0040----------------------- INT 20 P - Microsoft Windows - IFSMgr - VxD SERVICES VxD = 0040h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01306) Values for IFSMGR (VxD ID 0040h) service number: 00h get version 01h "RegisterMount" 02h "RegisterNet" 03h "RegisterMailSlot" 04h "Attach" 05h "Detach" 06h "Get_NetTime" 07h "Get_DOSTime" 08h "SetupConnection" 09h "DerefConnection" 0Ah "ServerDOSCall" 0Bh "CompleteAsync" 0Ch "RegisterHeap" 0Dh "GetHeap" 0Eh "RetHeap" 0Fh "CheckHeap" 10h "CheckHeapItem" 11h "FillHeapSpare" 12h "Block" 13h "Wakeup" 14h "Yield" 15h "SchedEvent" 16h "QueueEvent" 17h "KillEvent" 18h "FreeIOReg" 19h "MakeMailSlot" 1Ah "DeleteMailSlot" 1Bh "WriteMailSlot" 1Ch "PopUp" 1Dh "printf" 1Eh "AssertFailed" 1Fh "LogEntry" 20h "DebugMenu" 21h "DebugVars" 22h "GetDebugString" 23h "GetDebugHexNum" 24h "NetFunction" 25h "DoDelAllUses" 26h "SetErrString" 27h "GetErrString" 28h "SetReqHook" 29h "SetPathHook" 2Ah "UseAdd" 2Bh "UseDel" 2Ch "InitUseAdd" 2Dh "ChangeDir" 2Eh "DelAllUses" 2Fh "CDROM_Attach" 30h "CDROM_Detach" 31h "Win32DupHandle" 32h "Ring0_FileIO" 33h "Toggle_Extended_File_Handle" 34h "IFSMgr_GetDrive_Info" 35h "IFSMgr_Ring0GetDriveInfo" 36h "IFSMgr_BlockNoEvents" 37h "IFSMgr_NetToDosTime" 38h "IFSMgr_DosToNetTime" 39h "IFSMgr_DosToWin32Time" 3Ah "IFSMgr_Win32ToDosTime" 3Bh "IFSMgr_NetToWin32Time" 3Ch "IFSMgr_Win32ToNetTime" 3Dh "IFSMgr_MetaMatch" 3Eh "IFSMgr_TransMatch" 3Fh "IFSMgr_CallProvider" 40h "UniToBCS" 41h "UniToBCSPath" 42h "BCSToUni" 43h "UniToUpper" 44h "UniCharToOEM" 45h "CreateBasis" 46h "MatchBasisName" 47h "AppendBasisTail" 48h "FcbToShort" 49h "ShortToFcb" 4Ah "IFSMgr_ParsePath" 4Bh "Query_PhysLock" 4Ch "_VolFlush" 4Dh "NotifyVolumeArrival" 4Eh "NotifyVolumeRemoval" 4Fh "QueryVolumeRemoval" 50h "IFSMgr_FSDUnmountCFSD" 51h "IFSMgr_GetConversionTablePtrs" 52h "IFSMgr_CheckAccessConflict" 53h "IFSMgr_LockFile" 54h "IFSMgr_UnlockFile" 55h "IFSMgr_RemoveLocks" 56h "IFSMgr_CheckLocks" 57h "IFSMgr_CountLocks" 58h "IFSMgr_ReassignLockFileInst" 59h "IFSMgr_UnassignLockList" 5Ah "IFSMgr_MountChildVolume" 5Bh "IFSMgr_UnmountChildVolume" 5Ch "IFSMgr_SwapDrives" 5Dh "IFSMgr_FSDMapFHtoIOREQ" 5Eh "IFSMgr_FSDParsePath" 5Fh "IFSMgr_FSDAttachSFT" 60h "IFSMgr_GetTimeZoneBias" 61h "IFSMgr_PNPEvent" 62h "IFSMgr_RegisterCFSD" 63h "IFSMgr_Win32MapExtendedHandleToSFT" 64h "IFSMgr_DbgSetFileHandleLimit" 65h "IFSMgr_Win32MapSFTToExtendedHandle" 66h "IFSMgr_FSDGetCurrentDrive" 67h "IFSMgr_InstallFileSystemApiHook" 68h "IFSMgr_RemoveFileSystemApiHook" 69h "IFSMgr_RunScheduledEvents" 6Ah "IFSMgr_CheckDelResource" 6Bh "IFSMgr_Win32GetVMCurdir" 6Ch "IFSMgr_SetupFailedConnection" 6Dh "_GetMappedErr" 6Eh "ShortToLossyFcb" 6Fh "IFSMgr_GetLockState" 70h "BcsToBcs" 71h "IFSMgr_SetLoopback" 72h "IFSMgr_ClearLoopback" 73h "IFSMgr_ParseOneElement" 74h "BcsToBcsUpper" SeeAlso: #01305,#01307 --------W-20----Vx0041----------------------- INT 20 P - Microsoft Windows - VCDFSD - VxD SERVICES VxD = 0041h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01307) Values for VCDFSD (VxD ID 0041h) service number: 00h get VCDFSD version??? 01h ??? 02h ??? 03h ??? SeeAlso: #01306,#01308 --------W-20----Vx0048----------------------- INT 20 P - Microsoft Windows - PERF - VxD SERVICES VxD = 0048h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01308) Values for PERF (VxD ID 0048h) service number: 00h get version Return: CF clear EAX = version (AH = major, AL = minor) 01h "PERF_Server_Register" (creates/sets a registry key for the server) 02h "PERF_Server_Deregister" end performance monitoring (deletes registry key for server) 03h "PERF_Server_Add_Stat" start performance monitoring (creates/sets a registry key) 04h "PERF_Server_Remove_Stat" end performance monitoring (deletes registry key) SeeAlso: #01307,#01311,#01309 --------W-20----Vx004A----------------------- INT 20 P - Microsoft Windows - MTRR - VxD SERVICES VxD = 004Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01309) Values for MTRR (VxD ID 004Ah) service number: 00h get version 01h ??? (highest service defined for Win95B) SeeAlso: #01308,#01310 --------W-20----Vx004B----------------------- INT 20 P - Microsoft Windows - NTKERN - VxD SERVICES VxD = 004Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01310) Values for NTKERN (VxD ID 004Bh) service number: 00h get version??? ... 08h ??? (highest service defined for Win95B) SeeAlso: #01309,#01311 --------W-20----Vx011F----------------------- INT 20 P - Microsoft Windows - VFLATD - VxD SERVICES VxD = 011Fh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01311) Values for VFLATD (VxD ID 011Fh) service number: 00h get VFLATD version??? 01h ??? SeeAlso: #01308,#01312 --------W-20----Vx0449----------------------- INT 20 P - Microsoft Windows - vjoyd - VxD SERVICES VxD = 0449h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01312) Values for vjoyd (VxD ID 0449h) service number: 00h get vjoyd version??? 01h ??? SeeAlso: #01311,#01313 --------W-20----Vx044A----------------------- INT 20 P - Microsoft Windows - mmdevldr - VxD SERVICES VxD = 044Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01313) Values for mmdevldr (VxD ID 044Ah) service number: 00h get mmdevldr version??? 01h ??? 02h ??? 03h ??? 04h ??? 05h ??? SeeAlso: #01312,#01314 --------W-20----Vx0480----------------------- INT 20 P - Microsoft Windows - VNetSup - VxD SERVICES VxD = 0480h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01314) Values for VNetSup (VxD ID 0480h) service number: 00h get VNetSup version??? 01h ??? 02h ??? 03h ??? 04h ??? 05h ??? 06h ??? SeeAlso: #01313,#01315 --------W-20----Vx0481----------------------- INT 20 P - Microsoft Windows - VREDIR - VxD SERVICES VxD = 0481h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01315) Values for VREDIR (VxD ID 0481h) service number: 0000h "VRedir_Get_Version" 0001h "VRedir_Register" 0002h "VRedir_MakeMailSlot" 0003h "VRedir_DeleteMailSlot" 0004h "VRedir_ServerEnum" 0010h ...last service for Windows95 SP1 SeeAlso: #01314,#01316 --------W-20----Vx0483----------------------- INT 20 P - Microsoft Windows - VSHARE - VxD SERVICES VxD = 0483h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01316) Values for VSHARE (VxD ID 0483h) service number: 00h get VSHARE version??? SeeAlso: #01315,#01317 --------W-20----Vx0487----------------------- INT 20 P - Microsoft Windows - NWLINK - VxD SERVICES VxD = 0487h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01317) Values for NWLINK (VxD ID 0487h) service number: 00h get NWLINK version??? 01h ??? 06h ...last service for Windows95 SP1 SeeAlso: #01316,#01318,#02642 --------W-20----Vx0488----------------------- INT 20 P - Microsoft Windows - VTDI - VxD SERVICES VxD = 0488h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01318) Values for VTDI (VxD ID 0488h) service number: 00h get VTDI version??? 01h ??? 08h get ??? seen called with DWORD -> ASCIZ "MSTCP" on stack, returning EAX=??? 0Dh ...last service for Windows95 SP1 SeeAlso: #01317,#01319 --------W-20----Vx0489----------------------- INT 20 P - Microsoft Windows - VIP - VxD SERVICES VxD = 0489h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01319) Values for VIP (VxD ID 0489h) service number: 00h get VIP version??? 01h ??? 05h ??? 06h ??? returns EAX=0/1 08h ...last service for Windows95 SP1 ---Frontier Technologies' FTCVIP--- 09h ??? returns EAX=1 SeeAlso: #01318,#01320 --------W-20----Vx048A----------------------- INT 20 P - Microsoft Windows - MSTCP - VxD SERVICES VxD = 048Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01320) Values for MSTCP (VxD ID 048Ah) service number: 00h get MSTCP version??? SeeAlso: #01319,#01321 --------W-20----Vx048B----------------------- INT 20 P - Microsoft Windows - VCACHE - VxD SERVICES VxD = 048Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01321) Values for VCACHE (VxD ID 048Bh) service number: 0000h "VCACHE_Get_Version" 0001h "VCACHE_Register" 0002h "VCACHE_GetSize" 0003h "VCACHE_CheckAvail" 0004h "VCACHE_FindBlock" 0005h "VCACHE_FreeBlock" 0006h "VCACHE_MakeMRU" 0007h "VCACHE_Hold" 0008h "VCACHE_Unhold" 0009h "VCACHE_Enum" 000Ah "VCACHE_TestHandle" 000Bh "VCACHE_VerifySums" 000Ch "VCACHE_RecalcSums" 000Dh "VCACHE_TestHold" 000Eh "VCACHE_GetStats" 000Fh "VCache_Deregister" 0010h "VCache_AdjustMinimum" 0011h "VCache_SwapBuffers" 0012h "VCache_RelinquishPage" 0013h "VCache_UseThisPage" 0014h "_VCache_CreateLookupCache" 0015h "_VCache_CloseLookupCache" 0016h "_VCache_DeleteLookupCache" 0017h "_VCache_Lookup" 0018h "_VCache_UpdateLookup" SeeAlso: #01320,#01322 --------W-20----Vx048E----------------------- INT 20 P - Microsoft Windows - NWREDIR - VxD SERVICES VxD = 048Eh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01322) Values for NWREDIR (VxD ID 048Eh) service number: 00h get NWREDIR version??? 01h ??? SeeAlso: #01321,#01323 --------W-20----Vx0491----------------------- INT 20 P - Microsoft Windows - FILESEC - VxD SERVICES VxD = 0491h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01323) Values for FILESEC (VxD ID 0491h) service number: 00h get FILESEC version??? 01h ??? 10h ...last service for Windows95 SP1 SeeAlso: #01322,#01324 --------W-20----Vx0492----------------------- INT 20 P - Microsoft Windows - NWSERVER - VxD SERVICES VxD = 0492h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01324) Values for NWSERVER (VxD ID 0492h) service number: 00h get NWSERVER version??? 01h ??? 02h ??? 03h ??? SeeAlso: #01323,#01325 --------W-20----Vx0493----------------------- INT 20 P - Microsoft Windows - MSSP / NWSP - VxD SERVICES VxD = 0493h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01325) Values for MSSP/NWSP (VxD ID 0493h) service number: 00h get NSSP / NWSP version??? 01h ??? 06h ...last service for Windows95 SP1 SeeAlso: #01324,#01326 --------W-20----Vx0494----------------------- INT 20 P - Microsoft Windows - NSCL - VxD SERVICES VxD = 0494h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01326) Values for NSCL (VxD ID 0494h) service number: 00h get NSCL version??? 01h ??? 02h ??? SeeAlso: #01325,#01327 --------W-20----Vx0495----------------------- INT 20 P - Microsoft Windows - AFVXD - VxD SERVICES VxD = 0495h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01327) Values for AFVXD (VxD ID 0495h) service number: 00h get version Return: CF clear AX = version (AH = high, AL = low) 01h ??? EAX -> ??? EBX -> ??? ECX = ??? Return: ??? 02h ??? EAX -> ??? Return: ??? SeeAlso: #01326,#01328 --------W-20----Vx0496----------------------- INT 20 P - Microsoft Windows - NDIS2SUP - VxD SERVICES VxD = 0496h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01328) Values for NDIS2SUP (VxD ID 0496h) service number: 00h get NDIS2SUP version??? 01h ??? SeeAlso: #01327,#01329 --------W-20----Vx0498----------------------- INT 20 P - Microsoft Windows - Splitter - VxD SERVICES VxD = 0498h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01329) Values for Splitter (VxD ID 0498h) service number: 00h get Splitter version Return: CF clear EAX = version (00000001h) 01h ??? 02h ??? 03h hook/unhook VMM "hook device service" service EAX = request (0 = unhook, nonzero = hook) Return: if EAX nonzero on entry, Splitter's service 04h replaces VMM service 0090h; otherwise, default handler is restored 04h Splitter "hook device service" handler SeeAlso: #01328,#01330 --------W-20----Vx0499----------------------- INT 20 P - Microsoft Windows - PPPMAC - VxD SERVICES VxD = 0499h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01330) Values for PPPMAC (VxD ID 0499h) service number: 00h ??? 09h ...last service for Windows95 SP1 SeeAlso: #01329,#01331,#02642 --------W-20----Vx049A----------------------- INT 20 P - Microsoft Windows - VDHCP - VxD SERVICES VxD = 049Ah Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01331) Values for VDHCP (VxD ID 049Ah) service number: 00h get VDHCP version??? 01h ??? 02h ??? 03h ??? SeeAlso: #01330,#01332 --------W-20----Vx049B----------------------- INT 20 P - Microsoft Windows - VNBT - VxD SERVICES VxD = 049Bh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01332) Values for VNBT (VxD ID 049Bh) service number: 00h get VNBT version??? SeeAlso: #01331,#01333 --------W-20----Vx049D----------------------- INT 20 P - Microsoft Windows - LOGGER - VxD SERVICES VxD = 049Dh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01333) Values for LOGGER (VxD ID 049Dh) service number: 00h get LOGGER version??? 01h ??? 02h ??? 03h ??? 04h ??? SeeAlso: #01332,#01334 --------W-20----Vx097C----------------------- INT 20 P - Microsoft Windows - PCCARD - VxD SERVICES VxD = 097Ch Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier (see #02642) SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01334,#01340 (Table 01334) Values for PCCARD (VxD ID 097Ch) service number: 0000h "PCCARD_Get_Version" 0001h "PCCARD_Card_Services" SeeAlso: #01333,#01337 ----------20----Vx3048----------------------- INT 20 P - Frontier Technologies ??? - VxD SERVICES VxD = 3048h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01335 (Table 01335) Values for ??? (VxD ID 3048h) service number: 00h get version??? 03h ??? called with 5 DWORDs on stack, returns EAX=???, ECX nonzero on error 04h ??? called with DWORD on stack, returns EAX=???, ECX nonzero on error 06h ??? called with DWORD on stack, returns EAX=???, ECX nonzero on error 07h ??? called with 3 DWORDs on stack, returns EAX=???, ECX nonzero on error 0Bh ??? called with 2 DWORDs on stack, returns EAX=???, ECX nonzero on error 0Ch ??? called with 2 DWORDs on stack, returns EAX=???, ECX nonzero on error 0Dh ??? called with 6 DWORDs on stack, returns EAX=???, ECX nonzero on error 1Ah ??? called with 3 DWORDs on stack SeeAlso: #01336 ----------20----Vx3049----------------------- INT 20 P - Frontier Technologies ??? - VxD SERVICES VxD = 3049h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01336 (Table 01336) Values for ??? (VxD ID 3049h) service number: 00h get version??? 1Dh ??? called with 2 DWORDs on stack; returns EAX=???, ECX nonzero on error 1Eh ??? called with 6 DWORDs on stack; returns EAX=???, ECX nonzero on error SeeAlso: #01335 --------W-20----Vx3098----------------------- INT 20 P - QEMM - VstlthD - VxD SERVICES VxD = 3098h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01337) Values for VStlthD (VxD ID 3098h) service number: 00h get version Return: CF clear EAX = version (AH = major, AL = BCD minor) 01h ??? 02h get current ??? Return: CF clear EDX = current value of ??? 03h ??? SeeAlso: #01334,#01338 --------W-20----Vx30F6----------------------- INT 20 P - Microsoft Windows - WSVV - VxD SERVICES VxD = 30F6h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01338) Values for WSVV (VxD ID 30F6h) service number: 00h get WSVV version??? SeeAlso: #01337,#01339 --------W-20----Vx33FC----------------------- INT 20 P - Microsoft Windows - ASPIENUM - VxD SERVICES VxD = 33FCh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01339) Values for ASPIENUM (VxD ID 33FCh) service number: 00h get ASPIENUM version??? 01h ??? 02h ??? 03h ??? SeeAlso: #01338,#01340 --------W-20----Vx357E----------------------- INT 20 P - Microsoft Windows - DSOUND - VxD SERVICES VxD = 357Eh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01340) Values for DSOUND (VxD ID 357Eh) service number: 00h get DSOUND version??? 01h ??? 02h ??? SeeAlso: #01339,#01341 --------W-20----Vx39E6----------------------- INT 20 P - Microsoft Windows - A3D - VxD SERVICES VxD = 39E6h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01341) Values for A3D (VxD ID 39E6h) service number: 00h get version??? 01h ??? 02h ??? (highest service defined) SeeAlso: #01340,#01342 --------W-20----Vx3BFD----------------------- INT 20 P - Microsoft Windows - CWCPROXY - VxD SERVICES VxD = 3BFDh Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01342) Values for CWCPROXY (VxD ID 3BFDh) service number: 00h get version??? ... 03h ??? (highest service defined) SeeAlso: #01341,#01343 --------W-20----Vx3C78----------------------- INT 20 P - Microsoft Windows - VGARTD - VxD SERVICES VxD = 3C78h Note: the desired VxD and service number are identified by the data immediately following the INT 20 instruction, as in: INT 20h DW service number DW VxD identifier SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340 (Table 01343) Values for VGARTD (VxD ID 3C78h) service number: 00h get version??? ... 05h ??? (highest service defined) SeeAlso: #01342,#02642 --------G-21--------------------------------- INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE ??? Return: AX = first segment available for control program use SeeAlso: INT 20"COMTROL",INT 22"COMTROL" --------D-2100------------------------------- INT 21 - DOS 1+ - TERMINATE PROGRAM AH = 00h CS = PSP segment Notes: Microsoft recommends using INT 21/AH=4Ch for DOS 2+ this function sets the program's return code (ERRORLEVEL) to 00h execution continues at the address stored in INT 22 after DOS performs whatever cleanup it needs to do (restoring the INT 22,INT 23,INT 24 vectors from the PSP assumed to be located at offset 0000h in the segment indicated by the stack copy of CS, etc.) if the PSP is its own parent, the process's memory is not freed; if INT 22 additionally points into the terminating program, the process is effectively NOT terminated not supported by MS Windows 3.0 DOSX.EXE DOS extender SeeAlso: AH=26h,AH=31h,AH=4Ch,INT 20,INT 22 --------D-2101------------------------------- INT 21 - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO AH = 01h Return: AL = character read Notes: ^C/^Break are checked, and INT 23 executed if read ^P toggles the DOS-internal echo-to-printer flag ^Z is not interpreted, thus not causing an EOF if input is redirected character is echoed to standard output standard input is always the keyboard and standard output the screen under DOS 1.x, but they may be redirected under DOS 2+ SeeAlso: AH=06h,AH=07h,AH=08h,AH=0Ah --------v-21010F----------------------------- INT 21 - VIRUS - "Susan" - INSTALLATION CHECK AX = 010Fh Return: AX = 7553h ("Su") if resident SeeAlso: INT 16/AH=DDh"VIRUS",INT 21/AX=0B56h --------D-2102------------------------------- INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT AH = 02h DL = character to write Return: AL = last character output (despite the official docs which state nothing is returned) (at least DOS 2.1-7.0) Notes: ^C/^Break are checked, and INT 23 executed if pressed standard output is always the screen under DOS 1.x, but may be redirected under DOS 2+ the last character output will be the character in DL unless DL=09h on entry, in which case AL=20h as tabs are expanded to blanks if standard output is redirected to a file, no error checks (write- protected, full media, etc.) are performed SeeAlso: AH=06h,AH=09h --------D-2103------------------------------- INT 21 - DOS 1+ - READ CHARACTER FROM STDAUX AH = 03h Return: AL = character read Notes: keyboard checked for ^C/^Break, and INT 23 executed if detected STDAUX is usually the first serial port SeeAlso: AH=04h,INT 14/AH=02h,INT E0/CL=03h --------D-2104------------------------------- INT 21 - DOS 1+ - WRITE CHARACTER TO STDAUX AH = 04h DL = character to write Notes: keyboard checked for ^C/^Break, and INT 23 executed if detected STDAUX is usually the first serial port if STDAUX is busy, this function will wait until it becomes free SeeAlso: AH=03h,INT 14/AH=01h,INT E0/CL=04h --------D-2105------------------------------- INT 21 - DOS 1+ - WRITE CHARACTER TO PRINTER AH = 05h DL = character to print Notes: keyboard checked for ^C/^Break, and INT 23 executed if detected STDPRN is usually the first parallel port, but may be redirected under DOS 2+ if the printer is busy, this function will wait SeeAlso: INT 17/AH=00h --------D-2106------------------------------- INT 21 - DOS 1+ - DIRECT CONSOLE OUTPUT AH = 06h DL = character (except FFh) Return: AL = character output (despite official docs which state nothing is returned) (at least DOS 2.1-7.0) Notes: does not check ^C/^Break writes to standard output, which is always the screen under DOS 1.x, but may be redirected under DOS 2+ SeeAlso: AH=02h,AH=09h --------D-2106--DLFF------------------------- INT 21 - DOS 1+ - DIRECT CONSOLE INPUT AH = 06h DL = FFh Return: ZF set if no character available AL = 00h ZF clear if character available AL = character read Notes: ^C/^Break are NOT checked if the returned character is 00h, the user pressed a key with an extended keycode, which will be returned by the next call of this function this function reads from standard input, which is always the keyboard under DOS 1.x, but may be redirected under DOS 2+ although the return of AL=00h when no characters are available is not documented, some programs rely on this behavior SeeAlso: AH=0Bh --------D-2107------------------------------- INT 21 - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO AH = 07h Return: AL = character read from standard input Notes: does not check ^C/^Break standard input is always the keyboard under DOS 1.x, but may be redirected under DOS 2+ if the interim console flag is set (see AX=6301h), partially-formed double-byte characters may be returned SeeAlso: AH=01h,AH=06h,AH=08h,AH=0Ah --------D-2108------------------------------- INT 21 - DOS 1+ - CHARACTER INPUT WITHOUT ECHO AH = 08h Return: AL = character read from standard input Notes: ^C/^Break are checked, and INT 23 executed if detected standard input is always the keyboard under DOS 1.x, but may be redirected under DOS 2+ if the interim console flag is set (see AX=6301h), partially-formed double-byte characters may be returned SeeAlso: AH=01h,AH=06h,AH=07h,AH=0Ah,AH=64h"DOS 3.2+" --------D-2109------------------------------- INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT AH = 09h DS:DX -> '