Int 2F Fn 1684 U - Ms Windows - Shell - Get Api Entry Point [W]
AX = 1684h
BX = 0017h (virtual device ID for SHELL device) (see #2329)
ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #2344)
0000h:0000h if the VxD does not support an API
See Also: AX=1684h/BX=0021h,#0979 at INT 20"Windows"
(Table 2344)
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 #2345)
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: #0979 at INT 20"Windows"
Format of Shell Execution Block (SEB):
Offset Size Description (Table 2345)
00h DWORD PIF flags (see #2346)
04h DWORD display flags (see #2347)
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 2346)
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: #2345,#2347
Bitfields for SHELL display options:
Bit(s) Description (Table 2347)
0 emulate text mode
1 monitor text port
2 monitor low graphics port
3 monitor high graphics port
7 Retain video memory
See Also: #2345,#2346