You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.5 KiB
138 lines
3.5 KiB
;++
|
|
;
|
|
; WOW v1.0
|
|
;
|
|
; Copyright (c) 1991, Microsoft Corporation
|
|
;
|
|
; SHELL.ASM
|
|
; Win16 SHELL thunks
|
|
;
|
|
; History:
|
|
;
|
|
; Created 14-April-1992 by Chandan S. Chauhan (ChandanC)
|
|
;
|
|
;--
|
|
|
|
TITLE SHELL.ASM
|
|
PAGE ,132
|
|
|
|
; Some applications require that USER have a heap. This means
|
|
; we must always have: LIBINIT equ 1
|
|
LIBINIT equ 1
|
|
|
|
.286p
|
|
|
|
.xlist
|
|
include wow.inc
|
|
include wowshell.inc
|
|
include cmacros.inc
|
|
.list
|
|
|
|
__acrtused = 0
|
|
public __acrtused ;satisfy external C ref.
|
|
|
|
externFP WOW16Call
|
|
|
|
ifdef LIBINIT
|
|
externFP LocalInit
|
|
endif
|
|
|
|
createSeg _TEXT,CODE,WORD,PUBLIC,CODE
|
|
createSeg _DATA,DATA,WORD,PUBLIC,DATA,DGROUP
|
|
defgrp DGROUP,DATA
|
|
|
|
|
|
sBegin DATA
|
|
Reserved db 16 dup (0) ;reserved for Windows
|
|
SHELL_Identifier db 'SHELL16 Data Segment'
|
|
sEnd DATA
|
|
|
|
|
|
sBegin CODE
|
|
assumes CS,CODE
|
|
assumes DS,NOTHING
|
|
assumes ES,NOTHING
|
|
|
|
|
|
cProc SHELL16,<PUBLIC,FAR,PASCAL,NODATA,NOWIN,ATOMIC>
|
|
|
|
cBegin <nogen>
|
|
|
|
IFDEF LIBINIT
|
|
; push params and call user initialisation code
|
|
|
|
push di ;hModule
|
|
|
|
; if we have a local heap declared then initialize it
|
|
|
|
jcxz no_heap
|
|
|
|
push 0 ;segment
|
|
push 0 ;start
|
|
push cx ;length
|
|
call LocalInit
|
|
|
|
no_heap:
|
|
pop di
|
|
mov ax, 1
|
|
ELSE
|
|
mov ax,1 ;are we dressed for success or WHAT?!
|
|
ENDIF
|
|
ret
|
|
cEnd <nogen>
|
|
|
|
|
|
cProc WEP,<PUBLIC,FAR,PASCAL,NODATA,NOWIN,ATOMIC>
|
|
parmW iExit ;DLL exit code
|
|
|
|
cBegin
|
|
mov ax,1 ;always indicate success
|
|
cEnd
|
|
|
|
|
|
assumes DS,NOTHING
|
|
|
|
SHELLThunk REGOPENKEY
|
|
SHELLThunk REGCREATEKEY
|
|
SHELLThunk REGCLOSEKEY
|
|
SHELLThunk REGDELETEKEY
|
|
SHELLThunk REGSETVALUE
|
|
SHELLThunk REGQUERYVALUE
|
|
SHELLThunk REGENUMKEY
|
|
SHELLThunk DRAGACCEPTFILES
|
|
SHELLThunk DRAGQUERYFILE
|
|
FUN_DragFinishWOW equ FUN_DragFinish
|
|
SHELLThunk DRAGFINISHWOW, %(size DRAGFINISH16)
|
|
;;; SHELLThunk DRAGQUERYPOINT
|
|
SHELLThunk SHELLEXECUTE ;internal private for shell
|
|
SHELLThunk FINDEXECUTABLE ;internal private for shell
|
|
SHELLThunk SHELLABOUT ;internal private for shell
|
|
SHELLThunk WCI, 0 ;internal
|
|
SHELLThunk ABOUTDLGPROC, 0 ;internal
|
|
SHELLThunk EXTRACTICON
|
|
SHELLThunk EXTRACTASSOCIATEDICON ;internal private for shell
|
|
SHELLThunk DOENVIRONMENTSUBST
|
|
SHELLThunk FINDENVIRONMENTSTRING, 0
|
|
SHELLThunk INTERNALEXTRACTICON, 0 ;internal private for shell
|
|
SHELLThunk HERETHARBETYGARS, 0 ;internal
|
|
SHELLThunk FINDEXEDLGPROC, 0
|
|
SHELLThunk REGISTERSHELLHOOK, 0
|
|
SHELLThunk SHELLHOOKPROC, 0
|
|
|
|
; New for Win95
|
|
|
|
SHELLThunk EXTRACTICONEX
|
|
SHELLThunk RESTARTDIALOG
|
|
SHELLThunk PICKICONDLG
|
|
SHELLThunk DRIVETYPE
|
|
SHELLThunk SH16TO32DRIVEIOCTL
|
|
SHELLThunk SH16TO32INT2526
|
|
SHELLThunk SHGETFILEINFO
|
|
SHELLThunk SHFORMATDRIVE
|
|
SHELLThunk SHCHECKDRIVE
|
|
SHELLThunk _RUNDLLCHECKDRIVE
|
|
|
|
sEnd CODE
|
|
|
|
end SHELL16
|
|
|