NdisDeregisterProtocol 函数 (ndis.h)
注意 NDIS 5. x 已弃用,由 NDIS 6 取代。 x。 有关新的 NDIS 驱动程序开发,请参阅 从 Windows Vista 开始的网络驱动程序。 有关移植 NDIS 5 的信息。 NDIS 6 的 x 驱动程序。 x,请参阅 将 NDIS 5.x 驱动程序移植到 NDIS 6.0。
NdisDeregisterProtocol 释放驱动程序调用 NdisRegisterProtocol 时分配的资源。
语法
void NdisDeregisterProtocol(
[out] PNDIS_STATUS Status,
[in] NDIS_HANDLE NdisProtocolHandle
);
参数
[out] Status
指向调用方提供的变量的指针,该变量在从此函数返回时设置为NDIS_STATUS_SUCCESS。
[in] NdisProtocolHandle
指定初始化驱动程序时 由 NdisRegisterProtocol 返回的句柄。
返回值
无
备注
注册的协议驱动程序在以下任何情况下调用 NdisDeregisterProtocol :
驱动程序已成功调用 NdisRegisterProtocol ,但它无法绑定到计算机中的任何基础 NDIS 驱动程序。
正在卸载驱动程序。 也就是说,调用了初始化期间在其驱动程序对象中设置的 Unload 例程,或者调用 了 ProtocolUnbindAdapter 函数来释放驱动程序的最后一个剩余绑定。
有关 Unload 例程和其他标准内核模式驱动程序例程的详细信息,请参阅 内核模式驱动程序组件。
系统正在关闭。 由于驱动程序是最高级别的协议,在初始化时称为 IoRegisterShutdownNotification ,因此已调用其 Shutdown 例程。
有关详细信息 ,请参阅 IoRegisterShutdownNotification 。
如果协议具有任何打开的绑定,则它对 NdisDeregisterProtocol 的调用会导致 NDIS 为每个打开的绑定调用协议的 ProtocolUnbindAdapter 函数一次。 ProtocolUnbindAdapter 调用 NdisCloseAdapter 以关闭绑定。
当未完成的打开(如果有)已关闭时, NdisDeregisterProtocol 会释放其调用方设置的所有筛选器,并释放分配给跟踪协议驱动程序的绑定和筛选器的内存 NDIS。
- 目标平台: 通用
- 版本:Windows Vista 中的 NDIS 6.0 驱动程序不支持。 请改用 NdisDeregisterProtocolDriver。 支持 Windows Vista 和 Windows XP 中的 NDIS 5.1 驱动程序。
要求
要求 | 值 |
---|---|
Header | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |