Queries and Sets from Connection-Oriented Protocol Drivers (NDIS 5.1)

Note   NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

A connection-oriented protocol driver calls NdisCoRequestto retrieve (query) or set the characteristics of an underlying connection-oriented miniport driver. The type of information in the request is specified by an object identifier (OID). For a complete listing of connection-oriented OIDs, see Connection-Oriented Objects.

A connection-oriented protocol driver can query the underlying miniport driver for its link speed with OID_GEN_CO_LINK_SPEEDand use the results to set any internal time-out values it maintains. If the protocol driver is bound to NDISWAN, it cannot determine the link speed until it receives a line-up indication from the WAN miniport driver, indicating that a connection has been established between the local node and a remote node. A connection-oriented protocol driver can also set the speed of the underlying NIC with OID_GEN_CO_LINK_SPEED.

A connection-oriented protocol driver can issue an OID_GEN_CO_MAC_OPTIONSquery to determine the operating characteristics of the underlying miniport driver. See the Network Referencefor the set of NDIS-defined flags that can be returned for this query.

If needed, a connection-oriented protocol driver issues a set request to inform NDIS of its own operating characteristics, passing OID_GEN_CO_PROTOCOL_OPTIONS.

Protocol drivers should support 64-bit statistics OID queries. In a statistics OID query, the protocol driver sets the InformationBufferLengthmember of the NDIS_REQUESTstructure to four (bytes) to indicate a 32-bit statistics request or to eight (bytes) to indicate a 64-bit statistics request. In its response, the miniport driver sets the BytesNeededmember to the size of the statistics supported by the miniport driver (four for 32-bits or eight for 64-bits). The miniport driver sets the BytesWrittenmember to the smaller of these two values: the InformationBufferLength, or the size of statistics supported by the miniport driver. For more information about statistics OIDs for connection-oriented miniport drivers, see General Statistics for Connection-Oriented Miniport Drivers.

 

 

Send comments about this topic to Microsoft