PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE callback function (ndis.h)

The ProtocolClIncomingCallQoSChange function is used by connection-oriented clients on networks that support dynamic quality-of-service. Such clients must have ProtocolClIncomingCallQoSChange functions. Otherwise, such a protocol driver's registered ProtocolClIncomingCallQoSChange function can simply return control.

Note  You must declare the function by using the PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE type. For more information, see the following Examples section.
 

Syntax

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE ProtocolClIncomingCallQosChange;

void ProtocolClIncomingCallQosChange(
  [in] NDIS_HANDLE ProtocolVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Parameters

[in] ProtocolVcContext

Specifies the handle to the client's per-VC context area for the VC on which a request to modify the quality of service has come in over the network.

[in] CallParameters

Pointer to a buffer, formatted as a CO_CALL_PARAMETERS structure, that contains the new QoS specification.

Return value

None

Remarks

A call to ProtocolClIncomingCallQoSChange indicates to the client that a remote peer has requested a change in the quality of service on this call. The new quality of service is described at CallParameters . The client can accept the requested change by simply returning control. Otherwise,
ProtocolClIncomingCallQoSChange should tear down the call with NdisClCloseCall.

Examples

To define a ProtocolClIncomingCallQoSChange function, you must first provide a function declaration that identifies the type of function you're defining. Windows provides a set of function types for drivers. Declaring a function using the function types helps Code Analysis for Drivers, Static Driver Verifier (SDV), and other verification tools find errors, and it's a requirement for writing drivers for the Windows operating system.

For example, to define a ProtocolClIncomingCallQoSChange function that is named "MyClIncomingCallQoSChange", use the PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE type as shown in this code example:

PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE MyClIncomingCallQoSChange;

Then, implement your function as follows:

_Use_decl_annotations_
VOID
 MyClIncomingCallQoSChange(
    NDIS_HANDLE  ProtocolVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

The PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE function type is defined in the Ndis.h header file. To more accurately identify errors when you run the code analysis tools, be sure to add the Use_decl_annotations annotation to your function definition. The Use_decl_annotations annotation ensures that the annotations that are applied to the PROTOCOL_CL_INCOMING_CALL_QOS_CHANGE function type in the header file are used. For more information about the requirements for function declarations, see Declaring Functions by Using Function Role Types for NDIS Drivers.

For information about Use_decl_annotations, see Annotating Function Behavior.

Requirements

Requirement Value
Minimum supported client Supported for NDIS 6.0 and NDIS 5.1 drivers (see ProtocolClIncomingCallQoSChange (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see ProtocolClIncomingCallQoSChange (NDIS 5.1)) in Windows XP.
Target Platform Windows
Header ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

See also

NdisClCloseCall

NdisClModifyCallQoS

ProtocolCmModifyCallQoS