VideoPortInt10 strange behaviour

Hello,

There is one absolutely wild thing I encountered.

I have virtual display driver which may be used to turn off monitor using
VESA interface(through VideoPortInt10).

Everything ok, but customer found one computer on which after changing
resolution situation changes terrible:

  • call from system DLL to VideoPortInt10 does nothing( nevertheles
    VideoPortInt10 returns success)

  • call from application.exe to VideoPortInt10 does job - turn off
    monitor( and VideoPortInt10 returns success too).

Access in both cases is the same, i.e.
dc = CreateDC, ExtEscape(dc, OurCmd) => CallMiniport(IOCTL )=>VideoPortInt10


Best regards,
Sergey mailto:kipnis@wp.pl

Step into the function, it always return no_error IIRC.

A physical (as opposed to your virtual) miniport doesn’t turn off the
monitor in this way. Doing so might well confuse the real miniport. I would
suggest to use the vendor supplied API to work with stuff like playing with
monitor, multiple desktop etc.

Also, try to avoid videoportint10 if all possible, it’s primarily for
physical miniport which actually controls the hardware. video bios is
implemented in that piece of hw. Even a physical miniport should not use
videoportint10 if all possible. My previous employer even re-architect the
driver-video bios interface for this.

Calvin Guan (Windows DDK MVP)
NetXtreme Longhorn Miniport Prime
Broadcom Corp. www.broadcom.com

----- Original Message -----
From: “Sergey Kipnis”
To: “Windows System Software Devs Interest List”
Sent: Friday, September 09, 2005 9:08 AM
Subject: [ntdev] VideoPortInt10 strange behaviour

> Hello,
>
> There is one absolutely wild thing I encountered.
>
> I have virtual display driver which may be used to turn off monitor using
> VESA interface(through VideoPortInt10).
>
> Everything ok, but customer found one computer on which after changing
> resolution situation changes terrible:
>
> - call from system DLL to VideoPortInt10 does nothing( nevertheles
> VideoPortInt10 returns success)
>
> - call from application.exe to VideoPortInt10 does job - turn off
> monitor( and VideoPortInt10 returns success too).
>
> Access in both cases is the same, i.e.
> dc = CreateDC, ExtEscape(dc, OurCmd) =>
> CallMiniport(IOCTL )=>VideoPortInt10
>
> –
> Best regards,
> Sergey mailto:kipnis@wp.pl
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@hotpop.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>