[comp.windows.ms.programmer] Help with accessing NCSI/NASI through Windows 3.0

nick@qtnet.uucp (Nick Lawes) (05/03/91)

Can some kind soul reading this please put me out of my misery...

I am trying to make our terminal emulator use an NCSI compliant
communications server for the serial i/o. I've managed to get NCSI
connections working under DOS (using both IPX and NetBIOS as the
transport), and now need to do the same thing under Windows 3.0...
(Don't laugh! :-)

I guess the major problem is getting a fixed chunk of RAM in the
'normal' 640K address space, that can be used by the NCSI driver, as
well as by my windows application. I assume that the interrupt 6BH
will work as normal...

I have found the GlobalDosAlloc() call, and got that to work (despite
the fact the definition was missing from windows.h ! ). What I am
unsure of is how to access the memory segment that it gets for me...
The manwell says that the upper word returned is a paragraph-segment
address for use in real mode, and the lower word is a 'selector' for
use in enhanced mode.

So, the questions:-

- Am I going in the right direction, or am I missing something?

- for Real mode, can I just access the memory area as being the
specified number of bytes at address para:0000 from my application? I
am currently getting UAE's when I try this. (Surprise, surprise).

- How do I work the selector into a usable address? Can windows do
this or do I have to plough through the DPMI specification?



All this has made a happy man, very OLD !

I'd be grateful for any pointers... Replies preferred by mail, since our
news is *VERY* short-lived here ;-(

Thanks in advance...

/nick
-- 
[ Nick Lawes, International Development | voice:       +44 71 971 2513    ]
[ Quotron Information Business Limited. | email: ..!ukc!slxsys!qtnet!nick ]
[ 12 Norwich Street, London.  EC4a 1BP. | ham  :        G8ZHR @ GB3XP     ]