ProtocolClModifyCallQoSComplete (NDIS 5.1) function

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.

The ProtocolClModifyCallQoSComplete function is used by connection-oriented NDIS clients that can modify the quality of service on a connection dynamically. Such clients must have ProtocolClModifyCallQoSComplete functions to complete the asynchronous operations that they initate with NdisClModifyCallQoS. Otherwise, such a protocol driver's registered ProtocolClModifyCallQoSComplete function can simply return control.

Syntax

VOID ProtocolClModifyCallQoSComplete(
  _In_ NDIS_STATUS         Status,
  _In_ NDIS_HANDLE         ProtocolVcContext,
  _In_ PCO_CALL_PARAMETERS CallParameters
);

Parameters

  • Status [in]
    Specifies the final status of the client's asynchronous request to modify the call parameters for this VC as one of the following:

    • NDIS_STATUS_SUCCESS
      The QoS was modified as requested by the client.

    • NDIS_STATUS_RESOURCES
      NDIS or the call manager could not modify the QoS because one of them could not allocate sufficient resources dynamically.

    • NDIS_STATUS_INVALID_DATA
      The call parameters that the client supplied to NdisClModifyCallQoS were invalid.

    • NDIS_STATUS_FAILURE
      The call manager could not change the QoS because of a failure on the network or in another connection-oriented network component.

    • NDIS_STATUS_XXX
      The call manager failed to change the QoS, and NDIS propagated the CM-determined failure status to the client.

  • ProtocolVcContext [in]
    Specifies the handle to the client's per-VC context area, which the client originally supplied to NDIS when it called NdisCoCreateVc to set up the VC for its outgoing call request or from its ProtocolCoCreateVc function if the client accepted an incoming call on this VC.

  • CallParameters [in]
    Pointer to a buffered CO_CALL_PARAMETERS structure containing the client-specified QoS change it requested, or, possibly, the original QoS for this VC established when the connection was activated, which the call manager has restored.

Return value

None

Remarks

A call to ProtocolClModifyCallQoSComplete indicates that the call manager has completed processing of a client-initiated request to change the quality of service on an active VC. For example, if the underlying network medium supports dynamic QoS changes, a client can request modifications at any time on an active VC.

If the client's call to NdisClModifyCallQoS succeeds, ProtocolClModifyCallQoSComplete can accept the QoS change by simply returning control. Otherwise, ProtocolClModifyCallQoSComplete can engage in further negotiation with the call manager as long as the client's developer places some reasonable limit on the number of possible renegotiations. Alternatively, ProtocolClModifyCallQoSComplete can simply tear down the call with NdisClCloseCall whenever the call manager rejects a request to change the QoS and the previously established QoS has become unacceptable to the client.

Requirements

Target platform

Desktop

Version

See ProtocolClModifyCallQoSComplete.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

CO_CALL_PARAMETERS

NdisClCloseCall

NdisClModifyCallQoS

NdisCmModifyCallQoSComplete

NdisMCmModifyCallQoSComplete

ProtocolCmModifyCallQoS

ProtocolCoCreateVc

 

 

Send comments about this topic to Microsoft