Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Calling a 32 -bit DLL from a 16 -bit MS-DOS application

6 views
Skip to first unread message

tuha

unread,
Jun 5, 1997, 3:00:00 AM6/5/97
to

I am doing a NT VDD for a DOS program as a DLL.
Windows NT provides the functions RegisterModule, UnregisterModule, and
DispatchCall for a 16-bit driver or MS-DOS application to call a 32-bit
VDD.

Question:
How should I call those functions from my 16 -bit MS-DOS application ? (I
am not familiar with BIOS operation calls)

Best Regards
Tuomo Hakola.


------------------------------------------------------------------

Tuomo Hakola
Design Engineer
Web Inspection Systems
Company: ABB INDUSTRY OY
Address: P.O.Box 94 FIN-00381 Helsinki FINLAND
Telephone: +358 (0) 10 22 22804
Telefax: +358 (0) 10 22 22842
INTERNET: tuomo....@fidri.mail.abb.fi

Vladimir Burlik

unread,
Jun 9, 1997, 3:00:00 AM6/9/97
to

Such kind of calls are made by generation of exceptions. Here are
some assembler examples for such calls for MS-DOS apps.
;----------------------------------------------------------
RegisterModule MACRO

dw 0C4C4h
db 58h
db 0

endm
;----------------------------------------------------------
UnRegisterModule MACRO

dw 0C4C4h
db 58h
db 1

endm

;----------------------------------------------------------

DispatchCall MACRO

dw 0C4C4h
db 58h
db 2

endm

;----------------------------------------------------------
VDDUnSimulate16 MACRO

dw 0C4C4h
db 0FEh

endm

;----------------------------------------------------------
Examples:

mov si, offset cs:DLLNAME
mov di, offset cs:INITFUNC
mov bx, offset cs:DISPFUNC
mov bp, offset cs:MyFunc ; callback function (if you
need it)

RegisterModule

After this call you'll receive handle, which is being used for all
another calls(in AX).
Regards
Vladimir Burlik
;--------------------------------------------------------------
tuha wrote in article <01bc7178$fb7515e0$df8c...@drituha.abb.fi>...

Karen Hazzah

unread,
Jun 9, 1997, 3:00:00 AM6/9/97
to

In article , "tuha" says...

>
>I am doing a NT VDD for a DOS program as a DLL.

This is not a forum for NT questions (VDD != VxD), so next time post in
the nt.kernel-mode newsgroup.

However, the answer is...thru the macros defined in ISVBOP.INC in
the NTDDK\INC directory. See the VDD samples in NTDDK\vdd\appints.


0 new messages