Функция NdisDeregisterProtocol (ndis.h)

Примечание NDIS 5. x устарел и заменен NDIS 6. x. Сведения о разработке новых драйверов NDIS см. в статье Сетевые драйверы, начиная с Windows Vista. Сведения о переносе NDIS 5. драйверов x в NDIS 6. 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 на компьютере.

  • Драйвер выгружается. То есть подпрограмма выгрузки, настроенная в объекте драйвера во время инициализации, была вызвана или вызвана функция ProtocolUnbindAdapter, чтобы освободить последнюю оставшуюся привязку драйвера.

    Дополнительные сведения о подпрограмме выгрузки и других стандартных подпрограмм драйвера в режиме ядра см. в Kernel-Mode компонентах драйвера.

  • Система завершает работу. Так как драйвер, который является протоколом высокого уровня, называется IoRegisterShutdownNotification при инициализации, его подпрограмма завершения была вызвана.

    Дополнительные сведения см. в IoRegisterShutdownNotification.

Если протокол имеет открытые привязки, его вызов NdisDeregisterProtocol приводит к вызову функции протокола ProtocolUnbindAdapt er один раз для каждой открытой привязки. ProtocolUnbindAdapter вызывает NdisCloseAdapter, чтобы закрыть привязку.

При открытии, если они имеются, были закрыты, NdisDeregisterProtocol освобождает все фильтры, которые вызывающий объект настроил и освобождает память NDIS, выделенную для отслеживания привязок и фильтров драйвера протокола.

  • Целевая платформа: универсальная
  • Версия: не поддерживается для драйверов NDIS 6.0 в Windows Vista. Вместо этого используйте NdisDeregisterProtocolDriver. Поддерживается для драйверов NDIS 5.1 в Windows Vista и Windows XP.

Требования

Требование Ценность
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL PASSIVE_LEVEL

См. также