Hi, All…
The DDK says HalSetBusData / HalGetBusDataByOffset is obsolete and is only
supported for existing drivers. It suggestes us to send “IRP_MN_QUERY_INTERFACE”
request to get the device’s configuration space. Windows 2000 and later operating systems
do not allow drivers to access hardware belonging to other driver stacks. A filter driver
can be written to provide the functionality needed.
Is it true? That is, it’s impossible to obtain other deivces’ device object, create an IRP and
send the request to it. If I need other devices’ information, the only solution is I have to
implement the filter driver for the specific device and then call the interface in my driver.Is it
Right?
Thanks and Best Regards
David Wang
You can still it if you disable the compiler nagging. But nagging is
necessary on Microsoft part.
There are many ways you can get other device object, such as
IoGetDeviceObjectPointer.
Bi
-----Original Message-----
From: xxxxx@sis.com.tw [mailto:xxxxx@sis.com.tw]
Sent: Monday, October 21, 2002 12:03 AM
To: NT Developers Interest List
Subject: [ntdev] Accessing Other Devices’ Configuration Space
Hi, All…
The DDK says HalSetBusData / HalGetBusDataByOffset is obsolete and is
only
supported for existing drivers. It suggestes us to send
“IRP_MN_QUERY_INTERFACE”
request to get the device’s configuration space. Windows 2000 and later
operating systems
do not allow drivers to access hardware belonging to other driver stacks. A
filter driver
can be written to provide the functionality needed.
Is it true? That is, it’s impossible to obtain other deivces’ device
object, create an IRP and
send the request to it. If I need other devices’ information, the only
solution is I have to
implement the filter driver for the specific device and then call the
interface in my driver.Is it
Right?
Thanks and Best Regards
David Wang
You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%
Thanks, Bi
Due to the intel’s HT-enabled processor, we have to modify some of our codes that
using the WRITE_PORT_ULONG / READ_PORT_ULONG function to access the PCI configuration
space. HalSetBusData / HalGetBusDataByOffset are ways to do this. What I am wondering is
if these HAL fuctions are no longer supported, how can I get the PCI information from devices
that need not driver associated, such as Host CPU bridge or LPC south birdge.
Thanks…
David Wang
----- Original Message -----
From: Bi Chen
To: NT Developers Interest List
Sent: Tuesday, October 22, 2002 2:07 AM
Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
You can still it if you disable the compiler nagging. But nagging is necessary on Microsoft part.
There are many ways you can get other device object, such as IoGetDeviceObjectPointer.
Bi
-----Original Message-----
From: xxxxx@sis.com.tw [mailto:xxxxx@sis.com.tw]
Sent: Monday, October 21, 2002 12:03 AM
To: NT Developers Interest List
Subject: [ntdev] Accessing Other Devices’ Configuration Space
Hi, All…
The DDK says HalSetBusData / HalGetBusDataByOffset is obsolete and is only
supported for existing drivers. It suggestes us to send “IRP_MN_QUERY_INTERFACE”
request to get the device’s configuration space. Windows 2000 and later operating systems
do not allow drivers to access hardware belonging to other driver stacks. A filter driver
can be written to provide the functionality needed.
Is it true? That is, it’s impossible to obtain other deivces’ device object, create an IRP and
send the request to it. If I need other devices’ information, the only solution is I have to
implement the filter driver for the specific device and then call the interface in my driver.Is it
Right?
Thanks and Best Regards
David Wang
You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%
You are currently subscribed to ntdev as: xxxxx@sis.com.tw
To unsubscribe send a blank email to %%email.unsub%%
They are still supported. All you need to do is to put #pragma
warning(disable:4996) before includes.
As to PCI bridge, you may have to write to port cf8,cfc directly since
HalSetBusData does not allow you to set PCI configration space register.
There is a pointer of discussion in this forum.
Bi
-----Original Message-----
From: xxxxx@sis.com.tw [mailto:xxxxx@sis.com.tw]
Sent: Monday, October 21, 2002 11:15 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
Thanks, Bi
Due to the intel’s HT-enabled processor, we have to modify some of our
codes that
using the WRITE_PORT_ULONG / READ_PORT_ULONG function to access the PCI
configuration
space. HalSetBusData / HalGetBusDataByOffset are ways to do this. What I am
wondering is
if these HAL fuctions are no longer supported, how can I get the PCI
information from devices
that need not driver associated, such as Host CPU bridge or LPC south
birdge.
Thanks…
David Wang
----- Original Message -----
From: Bi Chen mailto:xxxxx
To: NT Developers Interest List mailto:xxxxx
Sent: Tuesday, October 22, 2002 2:07 AM
Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
You can still it if you disable the compiler nagging. But nagging is
necessary on Microsoft part.
There are many ways you can get other device object, such as
IoGetDeviceObjectPointer.
Bi
-----Original Message-----
From: xxxxx@sis.com.tw mailto:xxxxx [mailto:xxxxx@sis.com.tw]
Sent: Monday, October 21, 2002 12:03 AM
To: NT Developers Interest List
Subject: [ntdev] Accessing Other Devices’ Configuration Space
Hi, All…
The DDK says HalSetBusData / HalGetBusDataByOffset is obsolete and is
only
supported for existing drivers. It suggestes us to send
“IRP_MN_QUERY_INTERFACE”
request to get the device’s configuration space. Windows 2000 and later
operating systems
do not allow drivers to access hardware belonging to other driver stacks. A
filter driver
can be written to provide the functionality needed.
Is it true? That is, it’s impossible to obtain other deivces’ device
object, create an IRP and
send the request to it. If I need other devices’ information, the only
solution is I have to
implement the filter driver for the specific device and then call the
interface in my driver.Is it
Right?
Thanks and Best Regards
David Wang
—
You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%
—
You are currently subscribed to ntdev as: xxxxx@sis.com.tw
To unsubscribe send a blank email to %%email.unsub%%
—
You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>
You generally do not want to reprogram bridge devices, so writing their
config space would be a bad idea. You can read their config space
without harm, but to do that you either have to use the deprecated hal
functions, and risk not having a solution *Real Soon Now*, or write a
pci bus filter driver and get at the config space through the PDO.
If you are legitimately in need of bridge or system pci device config
space information, the pci bus filter driver, or specific device filter
drivers is the ‘right’ way to go.
===========================
Mark Roddy
Consultant, Microsoft DDK MVP
Hollis Technology Solutions
xxxxx@hollistech.com
www.hollistech.com
603-321-1032
-----Original Message-----
From: Bi Chen
To: “NT Developers Interest List”
Date: Tue, 22 Oct 2002 10:22:07 -0700
Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
> They are still supported. All you need to do is to put #pragma
> warning(disable:4996) before includes.
>
> As to PCI bridge, you may have to write to port cf8,cfc directly since
> HalSetBusData does not allow you to set PCI configration space
> register.
> There is a pointer of discussion in this forum.
>
> Bi
>
> -----Original Message-----
> From: xxxxx@sis.com.tw [mailto:xxxxx@sis.com.tw]
> Sent: Monday, October 21, 2002 11:15 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
>
>
>
> Thanks, Bi
>
> Due to the intel’s HT-enabled processor, we have to modify some of
> our
> codes that
> using the WRITE_PORT_ULONG / READ_PORT_ULONG function to access the PCI
> configuration
> space. HalSetBusData / HalGetBusDataByOffset are ways to do this. What
> I am
> wondering is
> if these HAL fuctions are no longer supported, how can I get the PCI
> information from devices
> that need not driver associated, such as Host CPU bridge or LPC south
> birdge.
>
> Thanks…
>
> David Wang
>
>
> ----- Original Message -----
> From: Bi Chen mailto:xxxxx
> To: NT Developers Interest List mailto:xxxxx
> Sent: Tuesday, October 22, 2002 2:07 AM
> Subject: [ntdev] RE: Accessing Other Devices’ Configuration Space
>
>
> You can still it if you disable the compiler nagging. But nagging is
> necessary on Microsoft part.
>
> There are many ways you can get other device object, such as
> IoGetDeviceObjectPointer.
>
> Bi
>
> -----Original Message-----
> From: xxxxx@sis.com.tw mailto:xxxxx
> [mailto:xxxxx@sis.com.tw]
> Sent: Monday, October 21, 2002 12:03 AM
> To: NT Developers Interest List
> Subject: [ntdev] Accessing Other Devices’ Configuration Space
>
>
>
> Hi, All…
>
> The DDK says HalSetBusData / HalGetBusDataByOffset is obsolete and
> is
> only
> supported for existing drivers. It suggestes us to send
> “IRP_MN_QUERY_INTERFACE”
> request to get the device’s configuration space. Windows 2000 and later
> operating systems
> do not allow drivers to access hardware belonging to other driver
> stacks. A
> filter driver
> can be written to provide the functionality needed.
>
> Is it true? That is, it’s impossible to obtain other deivces’
> device
> object, create an IRP and
> send the request to it. If I need other devices’ information, the only
> solution is I have to
> implement the filter driver for the specific device and then call the
> interface in my driver.Is it
> Right?
>
>
> Thanks and Best Regards
>
> David Wang
>
> —
> You are currently subscribed to ntdev as: xxxxx@appstream.com
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@sis.com.tw
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@appstream.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@hollistech.com
> To unsubscribe send a blank email to %%email.unsub%%
></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>