Share via


ProtocolCmModifyCallQoS (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 ProtocolCmModifyCallQoS function is required. ProtocolCmModifyCallQoS is called by NDIS when a connection-oriented client requests that the call parameters be changed for an existing virtual connection (VC). If the underlying network medium does not support QoS, ProtocolCmModifyCallQoS should simply return NDIS_STATUS_NOT_SUPPORTED.

Syntax

NDIS_STATUS ProtocolCmModifyCallQoS(
  _In_ NDIS_HANDLE        CallMgrVcContext,
  _In_ CO_CALL_PARAMETERS CallParameters
);

Parameters

  • CallMgrVcContext [in]
    Specifies the handle to a call manager-allocated context area in which the call manager maintains its per-VC state. The call manager supplied this handle to NDIS for its ProtocolCoCreateVc function.

  • CallParameters [in]
    Pointer to a CO_CALL_PARAMETERS structure that contains the new call parameters, as specified by a connection-oriented client, for the VC.

Return value

ProtocolCmModifyCallQoS returns the status of its operation(s) as one of the following values:

Return code Description
NDIS_STATUS_SUCCESS

Indicates that the call manager successfully changed the parameters of the call with the network to the call parameters specified at CallParameters.

NDIS_STATUS_PENDING

Indicates that the call manager will complete the request to modify the call parameters asynchronously. When the call manager has completed all operations necessary to modify the call parameters, it must call NdisCmModifyCallQoSComplete.

NDIS_STATUS_RESOURCES

Indicates that the call manager could not change the call parameters of the VC because dynamically allocated resources were not available.

NDIS_STATUS_INVALID_DATA

Indicates that the call manager was unable to change the call parameters of the VC because the call parameters provided at CallParameters were illegal or invalid.

NDIS_STATUS_FAILURE

Indicates that the call parameters could not be set to the call parameters provided because of a failure in the network or in another connection-oriented network component.

 

Remarks

ProtocolCmModifyCallQoS communicates with network control devices or other media-specific agents, as necessitated by its media, to modify the media-specific call parameters for an established virtual connection. If the call manager is required to communicate with network control agents (in other words, a networking switch) it should use a virtual connection to the network control agents that it established in its ProtocolBindAdapter function. Stand-alone call managers communicated to the network agents by calling NdisCoSendPackets. Miniport drivers with integrated call-management support never call NdisCoSendPackets. Instead, such a driver simply transfers the data over the network to the target network agent.

After communicating with the network and if the changes were successful, the call manager must then call NdisCmActivateVc with the new call parameters. This notifies NDIS and/or the connection-oriented miniport driver that the call parameters have changed and provides the miniport driver with an opportunity to validate those parameters.

If either the network cannot accept the new call parameters or the underlying miniport driver cannot accept the parameters, the call manager must restore the virtual connection to the state that existed before any modifications were attempted, and return NDIS_STATUS_FAILURE.

Requirements

Target platform

Desktop

Version

See ProtocolCmModifyCallQoS.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

NdisCmActivateVc

NdisCmModifyCallQoSComplete

NdisCoSendPackets

ProtocolCoCreateVc

 

 

Send comments about this topic to Microsoft