NdisMCmCloseCallComplete macro (ndis.h)
NdisMCmCloseCallComplete returns the final status of a client's request, for which the MCM driver previously returned NDIS_STATUS_PENDING, to tear down a call.
Syntax
void NdisMCmCloseCallComplete(
_S_,
_VH_,
_PH_
);
Parameters
_S_
Specifies the final status of the client's request that the MCM driver close the connection, either NDIS_STATUS_SUCCESS or any caller-determined NDIS_STATUS_XXX except NDIS_STATUS_PENDING.
_VH_
Specifies the handle to the VC for the call. This handle was supplied by NDIS when the VC was originally created, whether by the MCM driver with NdisMCmCreateVc or as an input parameter to its ProtocolCoCreateVc function.
_PH_
Specifies either NULL if the NdisVcHandle represents a point-to-point VC or the handle to the last remaining party on a multipoint connection, which the MCM driver obtained from its per-party state designated by the CallMgrPartyContext passed as an input parameter to its ProtocolCmCloseCall function.
Return value
None
Remarks
If an MCM driver's ProtocolCmCloseCall function returns NDIS_STATUS_PENDING, it must call NdisMCmCloseCallComplete subsequently to notify the client and NDIS that its attempt to break the connection has completed, whether successfully or with an error. A call to NdisMCmCloseCallComplete causes NDIS to call the client's ProtocolClCloseCallComplete function.
If it passes NDIS_STATUS_SUCCESS as the
Status, the MCM driver should consider the
NdisVcHandle (and
NdisPartyHandle, if any) unusable for transfers over the network as soon as it calls
NdisMCmCloseCallComplete. If the MCM driver originally created the VC, it should call
NdisMCmDeleteVc with the same
NdisVcHandle that it just passed to
NdisMCmCloseCallComplete. If the client created this VC, the MCM driver can expect a call to its
ProtocolCoDeleteVc function with the
ProtocolVcContext, designating its per-VC state in which it has stored the same
NdisVcHandle, as an input parameter.
Only connection-oriented miniport drivers that provide integrated call-management support can call NdisMCmCloseCallComplete. Stand-alone call managers, which register themselves with NDIS as protocol drivers, call NdisCmCloseCallComplete instead.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMCmCloseCallComplete (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMCmCloseCallComplete (NDIS 5.1)) in Windows XP. |
Target Platform | Desktop |
Header | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
DDI compliance rules | Irql_MCM_Function(ndis) |