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 |
|
Header |
Ndis.h (include Ndis.h) |
IRQL |
<= DISPATCH_LEVEL |
See also