Intermediate Driver Query and Set Operations

After it has successfully bound to an underlying miniport adapter and initialized its virtual miniports, an intermediate driver queries the operating characteristics of the underlying miniport adapter and sets its own internal state. If appropriate, the intermediate driver also negotiates such parameters as lookahead buffer size for the binding with the underlying miniport adapter. Most of the attributes that are associated with an underlying miniport adapter are passed to the intermediate driver at the BindParameters parameter of the ProtocolBindAdapterEx function. Intermediate drivers should use the values that are passed to ProtocolBindAdapterEx, if possible, instead of issuing OID queries. However, an intermediate driver with a connectionless lower edge can issue OID queries by calling NdisOidRequest. An intermediate driver with a connection-oriented lower edge can issue OID queries by calling NdisCoOidRequest.

An intermediate driver can also receive query and set requests from higher level drivers through its MiniportOidRequest function. The driver can either respond to those requests or pass them down to the underlying driver. How an intermediate driver responds to queries and sets depends on the implementation.

Note  The behavior of intermediate drivers can also be affected by the power state of the virtual miniport and the underlying miniport driver. To learn more about the effects of the power state on query and set operations, see Handling a Set Power Request.

The Network Reference section contains information about all of the general, connection-oriented, nonmedia-specific OIDs and about required media-specific OIDs of interest to intermediate driver developers.

The following topics provide additional information about issuing and responding to queries and sets in an intermediate driver:

Issuing Set and Query Requests from an Intermediate Driver

Responding to Sets and Queries in an Intermediate Driver