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(如果之前为给定的 NdisAfHandle 返回 NDIS_STATUS_PENDING的 ProtocolCmOpenAf 函数)。 客户端通过调用 NdisClOpenAddressFamilyEx来启动 pended open-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。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisCmOpenAddressFamilyComplete (NDIS 5.1) 。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 NdisCmOpenAddressFamilyComplete (NDIS 5.1) 。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
库 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_CallManager_Function(ndis) |