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 Status,NDIS 将忽略此参数。
返回值
无
备注
如果独立调用管理器的 ProtocolCmOpenAf 函数以前为给定的 NdisAfHandle 返回NDIS_STATUS_PENDING,则必须调用 NdisCmOpenAddressFamilyComplete。 客户端通过调用 NdisClOpenAddressFamilyEx 发起了笔式 open-AF 操作,在 NdisCmOpenAddressFamilyComplete 导致调用该客户端的 之前,无法对同一绑定执行进一步的面向连接的操作 ProtocolClOpenAfCompleteEx 函数。
如果 NdisCmOpenAddressFamilyComplete 的调用方将 Status 设置为 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) ) 。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_CallManager_Function (ndis) |