Int 2F/AX=1684h/BX=0017h

Prev Next Ralf Interrups Categories Contents

------

MS Windows - SHELL - GET API ENTRY POINT

AX = 1684h
BX = 0017h (virtual device ID for SHELL device) (see #02642)
ES:DI = 0000h:0000h

Return:
ES:DI -> VxD API entry point (see #02657) 0000h:0000h if the VxD does not support an API

See Also: AX=1684h/BX=0021h - #01283 at INT 20"Windows"

(Table 02657) Call SHELL entry point with:. EDX = function number (0000h-0027h,0100h-0108h, mostly unknown) 0000h get version number

Return:
AX = version number EBX = system VM handle 0001h "SHELL_Get_SYSVM_Info" get system VM information

Return:
CF clear AX bit 0 set if system VM executing exclusively BX = background time slice priority CX = foreground time slice priority SI = minimum time slice in milliseconds 0002h "SHELL_Set_SYSVM_Info" set system VM information AX bit 0 set if system VM should execute exclusively (ignored?) BX = background time slice priority (1-10000) CX = foreground time slice priority (1-10000) SI = minimum time slice in milliseconds (1-10000)

Return:
CF clear if successful 0003h "SHELL_Crt_VM" create a virtual machine ES:EDI -> SEB structure (see #02658)

Return:
CF clear if successful EAX = VM handle CF set on error EDX,EAX = result from GetSetDetailedVMError() 0004h "SHELL_Destroy_VM" destroy a virtual machine EBX = VM handle (not system VM)

Return:
Nothing 0005h "SHELL_Set_Focus" EBX = VM handle ECX = ???

Return:
Nothing 0006h "SHELL_Get_VM_State" EBX = VM handle (not system VM) ES:EDI -> ??? structure

Return:
CF clear if successful 0007h "SHELL_Set_VM_State" EBX = VM handle (not system VM) ES:EDI -> ??? structure 0008h "SHELL_Debug_Out" ???

Return:
???

Note: Dummy function in retail version of MS Windows 0009h "SHELL_VMDA_Init" ???

Return:
??? 000Ah "SHELL_VMDA_Exit" ???

Return:
??? 000Bh "SHELL_Get_Message_Txt" ???

Return:
??? 000Ch "SHELL_Event_Complete" ???

Return:
??? 000Dh "SHELL_Get_Contention_Info" ???

Return:
??? 000Eh "SHELL_Get_Clip_Info" ???

Return:
??? 000Fh "SHELL_Set_Paste" ???

Return:
??? 0010h "SHELL_Switcher_Assist" ???

Return:
??? 0011h "SHELL_Get_FileSysChng" ???

Return:
??? 0012h "SHELL_Query_Destroy" ???

Return:
??? 0013h "SHELL_SetFocus_Cur_VM" set input focus to current VM ???

Return:
??? 0014h "SHELL_User_Busy_API" ???

Return:
??? 0015h "SHELL_Chng_Hot_Key" ???

Return:
??? 0016h "SHELL_Get_TermInfo" ???

Return:
??? ---Windows95--- 0017h ??? 0018h ??? 0019h ??? 001Ah ??? 001Bh ??? 001Ch ??? 001Dh ??? 001Eh ??? 001Fh ??? 0020h ??? 0021h ??? 0022h ??? 0023h ??? 0024h ??? 0025h ??? 0026h ???

Note: Makes VxDCALL 00178002h (see INT 20"Windows") 0027h ??? 0100h get ??? version

Return:
AX = version??? (0400h for Windows95) 0101h not implemented

Return:
CF set EAX = FFFFFFFFh 0102h not implemented

Return:
CF set EAX = FFFFFFFFh 0103h not implemented

Return:
CF set EAX = FFFFFFFFh 0104h ??? 0105h ??? 0106h ??? ???

Return:
CF clear if successful CF set on error 0107h get SDK version for VxD AX = VxD identifier

Return:
EAX = VxD ID (high word) and SDK version (low) 00000000h if no such VxD loaded

Note: Makes a VMMCALL 0001013Fh (see INT 20"Windows") followed by ??? 0108h ???

Return:
CF set if called from VM other than system VM EAX = FFFFFFFFh

Note: Except for functions 0013h,0026h,and 010xh, this API may only be called from the system VM

See Also: #01283 at INT 20"Windows"

Format of Shell Execution Block (SEB): Offset Size Description (Table 02658) 00h DWORD PIF flags (see #02659) 04h DWORD display flags (see #02660) 08h PWORD -> pathname of .EXE to run 0Eh PWORD -> argument list 14h PWORD -> working drive/directory 1Ah WORD desired number of V86 pages for virtual machine 1Ch WORD minimum number of V86 pages for VM 1Eh WORD foreground priority 20h WORD background priority 22h WORD maximum KB of EMS 24h WORD minimum KB of EMS 26h WORD maximum KB of XMS 28h WORD minimum KB of XMS 2Ah WORD maximum KB of DPMI??? 2Ch WORD minimum KB of DPMI??? 2Eh 128 BYTEs title

Note: The PWORDs at offsets 08h,0Eh, and 14h consist of a DWORD offset followed by a WORD selector

Bitfields for 386 Enhanced Mode PIF flags: Bit(s) Description (Table 02659) 0 exclusive use of processor when VM is fullscreen 1 VM runs in background 2 VM runs in window 3-4 ??? 5 Alt-Tab reserved 6 Alt-Esc reserved 7 Alt-Space reserved 8 Alt-Enter reserved 9 Alt-PrtSc reserved 10 PrtSc reserved 11 Ctrl-Esc reserved 12 VM will release idle time slice 13 VM not allowed to use high memory 14 ??? 15 VM expanded memory not pageable 16 VM extended memory not pageable 17 Fast paste from clipboard enabled 18 VM application memory not pageable 30 Close VM when application exits

See Also: #02658 - #02660

Bitfields for SHELL display options: Bit(s) Description (Table 02660) 0 emulate text mode 1 monitor text port 2 monitor low graphics port 3 monitor high graphics port 7 Retain video memory

See Also: #02658 - #02659

Category: Windows - Int 2Fh - M

------

Prev Next Ralf Interrups Categories Contents