NdisCmOpenAddressFamilyComplete 函数 (ndis.h)

NdisCmOpenAddressFamilyComplete 在调用管理器返回NDIS_STATUS_PENDING响应该客户端的原始 open-AF 请求后,返回独立调用管理器为特定客户端打开给定 AF 的最终状态。

语法

void NdisCmOpenAddressFamilyComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE NdisAfHandle,
  [in] NDIS_HANDLE CallMgrAfContext
);

参数

[in] Status

指定 open-AF 操作的最终状态,NDIS_STATUS_SUCCESS或任何 CM 确定的错误NDIS_STATUS_ XXX ,NDIS_STATUS_PENDING除外。

[in] NdisAfHandle

指定为调用管理器的 ProtocolCmOpenAf 函数输入的 NDIS 提供的句柄,该函数返回NDIS_STATUS_PENDING。

[in] CallMgrAfContext

指定调用方分配的驻留上下文区域的句柄,如果打开成功,则调用管理器会保留此客户端打开地址系列(包括 NdisAfHandle)的状态。 如果未NDIS_STATUS_SUCCESS 状态 ,NDIS 将忽略此参数。

返回值

备注

独立调用管理器必须调用 NdisCmOpenAddressFamilyComplete (如果 其 ProtocolCmOpenAf 函数以前为给定 的 NdisAfHandle 返回NDIS_STATUS_PENDING)。 客户端使用对 NdisClOpenAddressFamilyEx 的调用启动触控打开 AF 操作,在 NdisCmOpenAddressFamilyComplete 导致对该客户端的调用之前,无法对同一绑定执行进一步的连接导向操作 ProtocolClOpenAfCompleteEx 函数。

如果 NdisCmOpenAddressFamilyComplete 的调用方将 状态 设置为NDIS_STATUS_SUCCESS,NDIS 随后会将给定 的 CallMgrAfContext 句柄作为输入参数传递给所有 CM 提供的 ProtocolCmXxx 和 ProtocolCoXxx 函数,该函数涉及客户端打开地址系列,直到客户端关闭 AF 为止。 调用管理器应在将失败状态传递给 NdisCmOpenAddressFamilyComplete 之前释放或重复使用它分配的任何 AF 上下文区域。

对于成功的打开,NDIS 提供的 NdisAfHandle 表示调用管理器和客户端在调用管理器和客户端绑定到的特定微型端口驱动程序上打开的 AF 之间的关联。 在随后调用 NdisCl/Cm/CoXxx 函数时,这两个协议驱动程序必须将 NdisAfHandle 视为传递、未修改和未解释的不透明变量。 对于打开失败,当 NdisMCmOpenAddressFamilyComplete 返回控件时,调用管理器应考虑 NdisAfHandle 无效。

只有将自己注册为协议驱动程序的 NDIS 的独立呼叫管理器才能调用 NdisCmOpenAddressFamilyComplete。 提供集成呼叫管理支持的连接型微型端口驱动程序必须呼叫 NdisMCmOpenAddressFamilyComplete 改为。

要求

   
最低受支持的客户端 (支持 NDIS 6.0 和 NDIS 5.1 驱动程序,请参阅 Windows Vista 中的 NdisCmOpenAddressFamilyComplete (NDIS 5.1) ) 。 支持 NDIS 5.1 驱动程序 (请参阅 Windows XP 中的 NdisCmOpenAddressFamilyComplete (NDIS 5.1) ) 。
目标平台 桌面
Header ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_CallManager_Function (ndis)

另请参阅

NdisAllocateFromNPagedLookasideList

NdisClOpenAddressFamilyEx

NdisMCmOpenAddressFamilyComplete

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf