NdisMCmRegisterSapComplete function

NdisMCmRegisterSapComplete returns the final status of a client's request, for which the MCM driver's ProtocolCmRegisterSap function previously returned NDIS_STATUS_PENDING, to register a SAP.

Syntax


VOID NdisMCmRegisterSapComplete(
  _In_ NDIS_STATUS Status,
  _In_ NDIS_HANDLE NdisSapHandle,
  _In_ NDIS_HANDLE CallMgrSapContext
);

Parameters

Status [in]

Specifies the final status for the client's original request to register the SAP, either NDIS_STATUS_SUCCESS or any caller-determined NDIS_STATUS_XXXexcept NDIS_STATUS_PENDING.

NdisSapHandle [in]

Specifies the NDIS-supplied handle to the SAP if the registration is successful. The call manager obtained this handle as an input parameter to its ProtocolCmRegisterSap function.

CallMgrSapContext [in]

Specifies the handle to a caller-supplied resident context area in which the MCM driver maintains state for this SAP if the registration is successful. If so, NDIS passes this handle back to the to the MCM driver in all subsequent calls concerning this SAP. If Status is set to something other than NDIS_STATUS_SUCCESS, NDIS ignores this parameter.

Return value

None

Remarks

An MCM driver must call NdisMCmRegisterSapComplete if its ProtocolCmRegisterSap function returned NDIS_STATUS_PENDING when it was called with the given NdisSapHandle . The call to NdisMCmRegisterSapComplete causes NDIS to call the client's ProtocolClRegisterSapComplete function.

If the MCM driver sets Status to anything other than NDIS_STATUS_SUCCESS, it should consider the NdisSapHandle invalid when NdisMCmRegisterSapComplete returns control. After failing a SAP registration, the CM can release or reuse the per-SAP context area, if any, that it already allocated. NDIS also releases its context for the SAP if the MCM driver fails the registration.

Only connection-oriented miniport drivers that provide integrated call-management support can call NdisMCmRegisterSapComplete. Stand-alone call managers, which register themselves with NDIS as protocol drivers, call NdisCmRegisterSapComplete instead.

Requirements

Target platform

Version

Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMCmRegisterSapComplete (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMCmRegisterSapComplete (NDIS 5.1)) in Windows XP.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

DDI compliance rules

Irql_MCM_Function

See also

NdisAllocateFromNPagedLookasideList
NdisClRegisterSap
NdisCmRegisterSapComplete
NdisMCmDispatchIncomingCall
ProtocolClRegisterSapComplete
ProtocolCmRegisterSap

 

 

Send comments about this topic to Microsoft

Show: