PROTOCOL_CL_CALL_CONNECTED callback function (ndis.h)

The ProtocolClCallConnected function is used by connection-oriented NDIS clients that accept incoming calls. Such clients must have ProtocolClCallConnected functions. Otherwise, such a protocol driver's registered ProtocolClCallConnected function can simply return control.

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

Syntax

PROTOCOL_CL_CALL_CONNECTED ProtocolClCallConnected;

void ProtocolClCallConnected(
  [in] NDIS_HANDLE ProtocolVcContext
)
{...}

Parameters

[in] ProtocolVcContext

Specifies the client's handle to its per-VC context area. The client originally returned this handle to NDIS from its ProtocolCoCreateVc function.

Return value

None

Remarks

When ProtocolClCallConnected is called, the call manager has successfully completed the final handshake on an incoming call offer previously accepted by the client's ProtocolClIncomingCall function, which already set up the call parameters for this connection at ProtocolVcContext .

The call to ProtocolClCallConnected indicates that data transfers, whether incoming or outgoing, now can be done on the VC. ProtocolClCallConnected should ensure that the client is ready to make or accept transfers on the VC before it returns control.

Examples

To define a ProtocolClCallConnected 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 ProtocolClCallConnected function that is named "MyClCallConnected", use the PROTOCOL_CL_CALL_CONNECTED type as shown in this code example:

PROTOCOL_CL_CALL_CONNECTED MyClCallConnected;

Then, implement your function as follows:

_Use_decl_annotations_
VOID
 MyClCallConnected(
    NDIS_HANDLE  ProtocolVcContext
    )
  {...}

The PROTOCOL_CL_CALL_CONNECTED 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_CALL_CONNECTED 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 ProtocolClCallConnected (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see ProtocolClCallConnected (NDIS 5.1)) in Windows XP.
Target Platform Windows
Header ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

See also

NdisCmDispatchCallConnected

NdisCoSendNetBufferLists

NdisMCmDispatchCallConnected

ProtocolClIncomingCall

ProtocolCoCreateVc

ProtocolCoReceiveNetBufferLists