;++ ; ; WOW v1.0 ; ; Copyright (c) 1991, Microsoft Corporation ; ; WINNLS.ASM ; Win16 WINNLS thunks ; ; History: ; ; Created 3-Feb-1992 by Junichi Okubo (junichio) ;-- TITLE WINNLS.ASM PAGE ,132 ; Some applications require that USER have a heap. This means ; we must always have: LIBINIT equ 1 ; ; NOTICE THIS junichio memo: This is on the developement. ; I cannot figure out it need or not? ;LIBINIT equ 1 FIRST_CALL_MUST_BE_USER_BUG equ 1 ifdef FIRST_CALL_MUST_BE_USER_BUG ;LIBINIT equ 1 endif .286p .xlist include wow.inc include wownls.inc include cmacros.inc .list __acrtused = 0 public __acrtused ;satisfy external C ref. ifdef LIBINIT externFP LocalInit endif externFP WOW16Call 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 sEnd DATA sBegin CODE assumes CS,CODE assumes DS,NOTHING assumes ES,NOTHING ifdef LIBINIT ;externFP LibMain endif cProc WINNLS16, cBegin 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: ; call LibMain ;return exit code from LibMain ELSE mov ax,1 ;are we dressed for success or WHAT?! ENDIF ret cEnd cProc WEP, parmW iExit ;DLL exit code cBegin mov ax,1 ;always indicate success cEnd ; WINNLSThunk INQUIREWINNLS cProc InquireWINNLS, cBegin mov ax,0 ; WOW does not support cEnd InquireWINNLS ; WINNLSTHunk HOOKKEYBOARDMESSAGE cProc HookKeyboardMessage, parmW nCode parmW VKey parmD lParam cBegin mov ax,0 ; WOW does not support cEnd HookKeyboardMessage WINNLSThunk SENDIMEMESSAGE WINNLSThunk SENDIMEMESSAGEEX ; WINNLSThunk WINNLSSETKEYBOARDHOOK cProc WINNLSSetKeyboardHook, parmW fHookNew cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetKeyboardHook ; WINNLSThunk WINNLSSETIMEHANDLE cProc WINNLSSetIMEHandle, parmD lpszName parmW hWnd cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetIMEHandle ; WINNLSThunk WINNLSSETIMESTATUS cProc WINNLSSetIMEStatus, parmW hWnd parmW fStatus cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetIMEStatus ; WINNLSThunk WINNLSSETIMEHOTKEY cProc WINNLSSetIMEHotkey, parmW hWnd parmW key ifdef KOREA parmW unknown endif cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetIMEHotkey WINNLSThunk WINNLSGETIMEHOTKEY WINNLSThunk WINNLSENABLEIME ; WINNLSThunk WINNLSGETKEYSTATE cProc WINNLSGetKeyState, cBegin mov ax,0 ; WOW does not support cEnd WINNLSGetKeyState WINNLSThunk WINNLSGETENABLESTATUS ; WINNLSThunk WINNLSSETKEYSTATE cProc WINNLSSetKeyState, parmW uVKey cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetKeyState ; WINNLSThunk IMPADDIME cProc IMPAddIME, parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPAddIME ; WINNLSThunk IMPDELETEIME cProc IMPDeleteIME, parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPDeleteIME WINNLSThunk IMPQUERYIME WINNLSThunk IMPGETIME WINNLSThunk IMPSETIME ; WINNLSThunk IMPMODIFYIME cProc IMPModifyIME, parmD lpszFile parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPModifyIME ; WINNLSThunk IMPGETDEFAULTIME cProc IMPGetDefaultIME, parmD lpNIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPGetDefaultIME ; WINNLSThunk IMPSETDEFAULTIME cProc IMPSetDefaultIME, parmD lpNIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPSetDefaultIME ; WINNLSThunk WINNLSSENDSTRING cProc WINNLSSendString, parmW hWnd parmW wFunc parmD lpData cBegin mov ax,0 ; WOW does not support cEnd WINNLSSendString ; WINNLSThunk WINNLSPOSTAPPMESSAGE cProc WINNLSPostAppMessage, parmW hWnd parmW uMsg parmW wParam parmD lParam cBegin mov ax,0 ; WOW does not support cEnd WINNLSPostAppMessage ; WINNLSThunk WINNLSSENDAPPMESSAGE cProc WINNLSSendAppMessage, parmW hWnd parmW uMsg parmW wParam parmD lParam cBegin mov ax,0 ; WOW does not support cEnd WINNLSSendAppMessage ifdef TAIWAN_PRC ;dchiang 032594 add NULL THUNK for CWIN30 & 31 Internal-ISV ; WINNLSThunk WINNLSSetSysIME cProc WINNLSSetSysIME, parmW hWnd cBegin mov ax,0 ; WOW does not support cEnd WINNLSSetSysIME ; WINNLSThunk WINNLSGetSysIME cProc WINNLSGetSysIME, cBegin mov ax,0 ; WOW does not support cEnd WINNLSGetSysIME ; WINNLSThunk WINNLSIMEControl cProc WINNLSIMEControl, parmW hWnd parmW hIMEWnd parmD lpIME cBegin mov ax,0 ; WOW does not support cEnd WINNLSIMEControl ; WINNLSThunk WINNLSSendControl cProc WINNLSSendControl, parmW wChar parmW wCount cBegin mov ax,0 ; WOW does not support cEnd WINNLSSendControl ; WINNLSThunk WINNLSQueryIMEInfo cProc WINNLSQueryIMEInfo, parmW hWnd parmW hIMEWnd parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd WINNLSQueryIMEInfo ; WINNLSThunk IMPEnableIME cProc IMPEnableIME, parmW hWnd parmD lpCIMEPro parmW fFlag cBegin mov ax,0 ; WOW does not support cEnd IMPEnableIME ; WINNLSThunk IMPSetFirstIME cProc IMPSetFirstIME, parmW hWnd parmD lpNIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPSetFirstIME ; WINNLSThunk IMPGetFirstIME cProc IMPGetFirstIME, parmW hWnd parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPGetFirstIME ; WINNLSThunk IMPSetUsrFont cProc IMPSetUsrFont, parmW hWnd parmD lpCIMEPro cBegin mov ax,0 ; WOW does not support cEnd IMPSetUsrFont ; WINNLSThunk InquireIME cProc InquireIME, cBegin mov ax,0 ; WOW does not support cEnd InquireIME ;dchiang 032494 add THUNK for CWIN31 ; WINNLSThunk IMPRETRIEVEIME cProc IMPRetrieveIME, parmD lpCIMEPro parmW wFlags cBegin mov ax,0 ; WOW does not support cEnd IMPRetrieveIME ; WINNLSThunk WINNLSDEFIMEPROC cProc WINNLSDefIMEProc, parmW hWnd parmW hDC parmW wProc parmW wFunc parmD lParam1 parmD lParam2 cBegin mov ax,0 ; WOW does not support cEnd WINNLSDefIMEProc ; WINNLSThunk CONTROLIMEMESSAGE cProc ControlIMEMessage, parmW hWnd parmD lpCIMEPro parmW wControl parmW wFunc parmD lpParam cBegin mov ax,0 ; WOW does not support cEnd ControlIMEMessage endif sEnd CODE end WINNLS16