Share via


ProtocolCmAddParty (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 ProtocolCmAddParty function is a required function. ProtocolCmAddParty sets up the media-specific parameters to add a party to an existing multipoint call, stores state data for the new party, and causes the party to be added to the call.

Syntax

NDIS_STATUS ProtocolCmAddParty(
  _In_    NDIS_HANDLE         CallMgrVcContext,
  _Inout_ PCO_CALL_PARAMETERS CallParameters,
  _In_    NDIS_HANDLE         NdisPartyHandle,
  _Out_   PNDIS_HANDLE        CallMgrPartyContext
);

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 from its ProtocolCoCreateVc function.

  • CallParameters [in, out]
    Pointer to a CO_CALL_PARAMETERS structure that contains the parameters, specified by a connection-oriented client, for the party that is being added to an existing call.

  • NdisPartyHandle [in]
    Specifies a handle, supplied by NDIS, that uniquely identifies a multipoint party that is to be added to an existing virtual connection. This handle is opaque to the call manager and reserved for NDIS library use.

  • CallMgrPartyContext [out]
    Specifies, on return, a handle to a call manager-supplied context area in which the call manager maintains state about this party for the multipoint call.

Return value

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

Return code Description
NDIS_STATUS_SUCCESS

Indicates that the call manager successfully allocated the necessary resources to maintain state about the party and successfully added the party to the call.

NDIS_STATUS_PENDING

Indicates that the call manager will complete the request to add a party asynchronously. When the call manager has completed all operations for adding the party, it must call NdisCmAddPartyComplete to signal NDIS that this operation has been completed.

NDIS_STATUS_RESOURCES

Indicates that the call manager was unable to allocate and/or initialize its resources for adding a party to the connection.

NDIS_STATUS_NOT_SUPPORTED

Indicates that the call manager was unable to add the party to the multipoint call because the caller requested invalid or unavailable features in the call parameters at CallParameters or else that the media type supported by this call manager does not support multipoint calls.

 

Remarks

ProtocolCmAddParty performs any necessary allocations of dynamic resources and structures that the call manager requires to maintain state information about the party, specified by NdisPartyHandle, to be added to a multipoint call. Such resources could include, but are not limited to, memory buffers, data structures, events, and other similar resources. Call managers should also initialize relevant per-party structures in this function.

In the per-party state area that the call manager allocates, the call manager must store the handle specified by NdisPartyHandle for reference in future calls. After the call manager has allocated and finish initializing its per-party state area, the address of the state buffer should be set as the CallMgrPartyContext handle before returning control to NDIS. To do this, dereference the handle and store a pointer to the state buffer as the value of the handle. For example:

*CallMgrPartyContext = SomeBuffer;

Call managers perform any necessary communication with their network hardware or other media-specific actors, as necessary, to add the party specified by the call parameters at CallParameters to an existing multipoint call.

Requirements

Target platform

Desktop

Version

See ProtocolCmAddParty.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

NdisClAddParty

ProtocolClAddPartyComplete

 

 

Send comments about this topic to Microsoft