NdisClOpenAddressFamilyEx 函数 (ndis.h)

NdisClOpenAddressFamilyEx 函数注册与面向连接的客户端的调用管理器关联的地址系列(AF)。

语法

NDIS_STATUS NdisClOpenAddressFamilyEx(
  [in]  NDIS_HANDLE        NdisBindingHandle,
  [in]  PCO_ADDRESS_FAMILY AddressFamily,
  [in]  NDIS_HANDLE        ClientAfContext,
  [out] PNDIS_HANDLE       NdisAfHandle
);

参数

[in] NdisBindingHandle

NdisOpenAdapterEx 返回的句柄,用于标识调用方绑定到的下一个较低驱动程序的目标网络接口卡(NIC)或虚拟适配器。

[in] AddressFamily

指向描述要打开的调用管理器和 AF 的 CO_ADDRESS_FAMILY 结构的指针。

此指针是客户端的输入参数 ProtocolCoAfRegisterNotify 函数,该函数调用 NdisClOpenAddressFamilyEx

[in] ClientAfContext

调用方提供的驻地上下文区域的句柄,客户端在打开 AF 后维护此 AF 的状态。 如果调用 NdisClOpenAddressFamilyEx 成功,NDIS 会在有关此 AF 的所有后续调用中将此句柄传回客户端。

[out] NdisAfHandle

指向调用方提供的变量的指针,其中 NdisClOpenAddressFamilyEx 返回表示新打开的地址系列的句柄。

返回值

NdisClOpenAddressFamilyEx 返回除NDIS_STATUS_PENDING以外的任何内容时,客户端应对其进行内部调用 ProtocolClOpenAfCompleteEx 函数。 否则,NDIS 会在完成此作时调用客户端的 ProtocolClOpenAfCompleteEx 函数。

言论

CoNDIS 客户端从其调用 NdisClOpenAddressFamilyEx ProtocolCoAfRegisterNotify 函数,客户端检查由 AddressFamily 参数指向的输入缓冲区,以确定客户端是否识别调用管理器和已注册的地址。 NDIS 将客户端对 NdisClOpenAddressFamilyEx 的调用转发到调用管理器的 ProtocolCmOpenAf 函数,这可确保客户端在有效的 AF 结构中传递。

成功调用 NdisClOpenAddressFamilyEx 设置从客户端到调用管理器的通信。 然后,客户端可以通过调用 NdisClRegisterSap 函数来准备接收传入调用。 客户端还可以通过调用 NdisCoCreateVc 函数来设置虚拟连接(VC),以便它可以通过调用 NdisClMakeCall 函数进行传出调用。

如果客户端调用 NdisClOpenAddressFamilyEx 失败,客户端应调用 NdisUnbindAdapter 函数,以请求 NDIS 释放其绑定到基础微型端口适配器的绑定。 否则,客户端必须保存在 NdisAfHandle 参数处返回的句柄。 此句柄标识将针对给定地址系列后续请求的呼叫管理器。 客户端必须将此返回的句柄视为不透明变量,并在后续 NdisXxx 函数调用中传递该句柄未经修改且未解释。

NDIS 将指针从 ClientAfContext 参数传递到客户端注册的 ProtocolClXxx 函数的所有后续调用中,直到客户端调用 NdisCloseAddressFamily 具有相同 NdisAfHandle。 关闭 AF 后,客户端可以释放或重复使用它在 ClientAfContext 分配的存储。

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL PASSIVE_LEVEL
DDI 符合性规则 Irql_Protocol_Driver_Function(ndis)

另请参阅

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify