Leaked source code of windows server 2003
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

;++
;
; 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