NdisMCmOpenAddressFamilyComplete (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.
NdisMCmOpenAddressFamilyComplete returns the final status of a client's request, for which the MCM driver's ProtocolCmOpenAf function returned NDIS_STATUS_PENDING, to open the MCM driver's address family.
Syntax
VOID NdisMCmOpenAddressFamilyComplete(
_In_ NDIS_STATUS Status,
_In_ NDIS_HANDLE NdisAfHandle,
_In_ NDIS_HANDLE CallMgrAfContext
);
Parameters
Status [in]
Specifies the final status of the client's request to open the AF, either NDIS_STATUS_SUCCESS or any caller-determined NDIS_STATUS_XXX except NDIS_STATUS_PENDING.NdisAfHandle [in]
Specifies the NDIS-supplied handle that was input to the MCM driver's ProtocolCmOpenAf function, which returned NDIS_STATUS_PENDING.CallMgrAfContext [in]
Specifies the handle to a caller-allocated resident context area, in which the MCM driver maintains state about this client's open of the address family, including the NdisAfHandle, if the open succeeded. Otherwise, NDIS ignores this parameter.
Return value
None
Remarks
An MCM driver must call NdisMCmOpenAddressFamilyComplete 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 NdisMCmOpenAddressFamilyComplete causes a call to that client's ProtocolClOpenAfComplete function.
If the caller of NdisMCmOpenAddressFamilyComplete sets Status to NDIS_STATUS_SUCCESS, NDIS subsequently passes the given CallMgrAfContext handle as an input parameter to all MCM driver-supplied ProtocolCmXxx and ProtocolCoXxx functions that concern the client's open of the address family until the client closes the AF. The MCM driver should release or reuse any AF context area that it allocated before it passes a failure status to NdisMCmOpenAddressFamilyComplete.
For a successful open, the NDIS-supplied NdisAfHandle represents an association between the MCM driver and client for the opened AF. Both NDIS drivers must treat NdisAfHandle as an opaque variable to be passed, unmodified and uninterpreted, in subsequent calls to NdisCl/Co/MCm/MCoXxx functions for which this handle is a required parameter. For a failed open, the MCM driver should consider the NdisAfHandle invalid when NdisMCmOpenAddressFamilyComplete returns control.
Only connection-oriented miniport drivers that provide integrated call-management support can call NdisMCmOpenAddressFamilyComplete. Stand-alone call managers, which register themselves with NDIS as protocols, call NdisCmOpenAddressFamilyComplete instead.
Requirements
Target platform |
Desktop |
Version |
|
Header |
Ndis.h (include Ndis.h) |
IRQL |
<= DISPATCH_LEVEL |
See also
NdisAllocateFromNPagedLookasideList
NdisCmOpenAddressFamilyComplete