Share via


NdisCmOpenAddressFamilyComplete (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.

NdisCmOpenAddressFamilyComplete returns the final status of a stand-alone call manager's open of a given AF for a particular client after the call manager returned NDIS_STATUS_PENDING in response to that client's original open-AF request.

Syntax

VOID NdisCmOpenAddressFamilyComplete(
  _In_ NDIS_STATUS Status,
  _In_ NDIS_HANDLE NdisAfHandle,
  _In_ NDIS_HANDLE CallMgrAfContext
);

Parameters

  • Status [in]
    Specifies the final status of the open-AF operation, either NDIS_STATUS_SUCCESS or any CM-determined error NDIS_STATUS_XXX except NDIS_STATUS_PENDING.

  • NdisAfHandle [in]
    Specifies the NDIS-supplied handle that was input to the call manager's ProtocolCmOpenAf function, which returned NDIS_STATUS_PENDING.

  • CallMgrAfContext [in]
    Specifies the handle to a caller-allocated resident context area in which the call manager maintains state about this client's open of the address family, including the NdisAfHandle, if the open succeeded. If Status is not NDIS_STATUS_SUCCESS, NDIS ignores this parameter.

Return value

None

Remarks

A stand-alone call manager must call NdisCmOpenAddressFamilyComplete if its ProtocolCmOpenAf function previously returned NDIS_STATUS_PENDING for the given NdisAfHandle. The client, which initiated the pended open-AF operation with a call to NdisClOpenAddressFamily, cannot carry out further connection-oriented operations on the same binding until NdisCmOpenAddressFamilyComplete causes a call to that client's ProtocolClOpenAfComplete function.

If the caller of NdisCmOpenAddressFamilyComplete sets Status to NDIS_STATUS_SUCCESS, NDIS subsequently passes the given CallMgrAfContext handle as an input parameter to all CM-supplied ProtocolCmXxx and ProtocolCoXxx functions that concern the client's open of the address family until the client closes the AF. The call manager should release or reuse any AF context area that it allocated before it passes a failure status to NdisCmOpenAddressFamilyComplete.

For a successful open, the NDIS-supplied NdisAfHandle represents an association between the call manager and client for the opened AF on a particular NIC driver to which the call manager and client are bound. Both protocols must treat NdisAfHandle as an opaque variable to be passed, unmodified and uninterpreted, in subsequent calls to NdisCl/Cm/CoXxx functions for which this handle is a required parameter. For a failed open, the call manager should consider the NdisAfHandle invalid when NdisMCmOpenAddressFamilyComplete returns control.

Only stand-alone call managers, which register themselves with NDIS as protocols, can call NdisCmOpenAddressFamilyComplete. Connection-oriented miniport drivers that provide integrated call-management support must call NdisMCmOpenAddressFamilyComplete instead.

Requirements

Target platform

Universal

Version

See NdisCmOpenAddressFamilyComplete.

Header

Ndis.h (include Ndis.h)

Library

Ndis.lib

IRQL

<= DISPATCH_LEVEL

See also

NdisAllocateFromNPagedLookasideList

NdisClOpenAddressFamily

NdisMCmOpenAddressFamilyComplete

ProtocolClOpenAfComplete

ProtocolCmOpenAf

 

 

Send comments about this topic to Microsoft