delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2003/01/31/04:30:12.1

From: "Tonu Aas" <tonu AT ids DOT ee>
Newsgroups: comp.os.msdos.djgpp
References: <3af4482 DOT 0301301034 DOT 3e40636f AT posting DOT google DOT com>
Subject: Re: Stuck with buffered I/O when using biosprint with Windows 2000
Date: Fri, 31 Jan 2003 11:02:48 +0200
Lines: 20
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
NNTP-Posting-Host: ids.ids.ee
Message-ID: <3e3a3bd8$1@news.infonet.ee>
X-Trace: news.infonet.ee 1044003800 ids.ids.ee (31 Jan 2003 11:03:20 +0200)
Organization: INFONET.EE
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> I want to use the low level "biosprint()" control of the printer port
> with Windows 2000. It looks like calling the function with command 0
> to write data results in a buffered transfer.

    There is no good solution for that. >=NT virtual LPT port will send data
only after DOS window VM destruction. Very weird behaviour. Also you cant do
low level I/O
without device driver. Only solution I found is to use LPT through file
system and
force LPT to work through closing file.

> Is there a way to flush
> this port buffer, and not mess up my intended data stream?

There is no way. NT turns miserable PC hardware into nothing.
And its not much better even on native windows programs.

Tõnu.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019