Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

124 lines
2.3 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.
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 ;internal
SHELLThunk ABOUTDLGPROC ;internal
SHELLThunk EXTRACTICON
SHELLThunk EXTRACTASSOCIATEDICON ;internal private for shell
SHELLThunk DOENVIRONMENTSUBST
SHELLThunk FINDENVIRONMENTSTRING
SHELLThunk INTERNALEXTRACTICON ;internal private for shell
SHELLThunk HERETHARBETYGARS ;internal
SHELLThunk FINDEXEDLGPROC
SHELLThunk REGISTERSHELLHOOK
SHELLThunk SHELLHOOKPROC
sEnd CODE
end SHELL16