Stephan
Fri Apr 14 16:56:48 CDT 2006
You are talking about three different things here:
1. Each NDIS miniport driver must respond to various OID requests. Such
requests can only be initiated by NDIS protocol drivers via
NdisRequest(). The NDIS Wrapper then forwards the request to the
miniport's MiniportQueryInformation() or MiniportSetInformation() for
query and set requests, respectively.
The only exception to this rule is that applications can issue OID
queries (not sets) via IOCTL_NDIS_QUERY_GLOBAL_STATS.
For details see:
"How can I access my NDIS miniport driver from a user-mode
application?"
http://www.ndis.com/faq/QA10290101.htm
2. NDIS miniports can have their own IOCTL interface. The IOCTLs used
by this interface are of a completely private nature. Vendors usually
make use of IOCTLs to implement special, vendor-specific features in
their NDIS miniports.
3. The NDIS Wrapper exposes some information (i.e. OIDs) about each
miniport to WMI. Miniports can also expose custom OIDs (see
OID_GEN_SUPPORTED_GUIDS).
The real OID requests are actually going through the Filter IMs. But
usually they simply forward the requests to the miniport (or Filter)
below them without any intervention.
Not sure what WMI does here. It would seem it presents you the miniport
and the two Filter IMs as if they were all real miniports. Sure they
all return the same values for (probably) all OIDs. So is the case for
WLAN OIDs.
HTH, Stephan
---
r_konjeti@mailcity.com wrote:
> Thanks for the reply.
>
> When I was querying for WiFi RSSI through WMI, I see three instances of
> same access point and its RSSI (one from each driver).
>
> If these are filter drivers and they are stacked up as you described, I
> would expect only one actual miniport driver to provide service to the
> query. Because these are stacked up, I was thinking they should
> transmit the IRP to the lower driver or they handle the request and
> complete IRP.
>
> I cant understand why my WMI query gets three replies from 3 instances.
> I thought it was the responsibility of only actual miniport driver to
> repond to OID.
>
> Thanks,
> Raj