Up ] Docs Home ]

Values for VMM (VxD ID 0001h) service number

Back ] Next ]

Value Description

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
DX = I/O port address
ESI handler to call when I/O access attempted???

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 word = service number
ESI handler

See Also:

#01266,#01267,INT 2F/AX=1684h/BX=0001h