W2K: Parport BUG?

I am trying to use IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO to get the
interrupt level and vector of the parallel port on a Windows 2K
Professional. The results I get are incorrect (level 0x14, Vector 0x37)
even though status shows success (the port is configured to use IRQ 7). I
read in the DDK that a flag is needed in order to connect an ISR, but the
location is not clear from the documentation, and I did not find anywhere
that this is required for querying parport. Can anyone provide more
information?

Thanks,

Gil Fuchs

They are not incorrect values. The values returned in response to the ioctl
are the translated level and vector values if the parallel port driver is
enabled to use interrupts.

On Wink2K, you cannot use the interrupt info returned by the
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO and connect to the interrupt
using IoConnectInterrupt (as it’s done on nt4.0) because the interrupt is
owned by the parallel port driver exclusively.

If you want to connect to interrupt on Win2K you should use
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT and specify a callback routine.
This is documented in the DDK.

In order to allow another driver to connect to the parallel ports interrupt
via ParPorts IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, the registry entry
EnableConnectInterruptIoctl must be present and set to one under the
parallel ports device instance Device Parameters key.

-Eliyas

-----Original Message-----
From: xxxxx@worldbank.org [mailto:xxxxx@worldbank.org]
Sent: Thursday, May 18, 2000 2:32 PM
To: NT Developers Interest List
Subject: [ntdev] W2K: Parport BUG?

I am trying to use IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO to get the
interrupt level and vector of the parallel port on a Windows 2K
Professional. The results I get are incorrect (level 0x14, Vector 0x37)
even though status shows success (the port is configured to use IRQ 7). I
read in the DDK that a flag is needed in order to connect an ISR, but the
location is not clear from the documentation, and I did not find anywhere
that this is required for querying parport. Can anyone provide more
information?

Thanks,

Gil Fuchs


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)