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

Примечание NDIS 5. X является нерекомендуемым и заменен NDIS 6. x. Сведения о разработке новых драйверов NDIS см. в статье Сетевые драйверы, начиная с Windows Vista. Сведения о переносе NDIS 5. x драйверы для NDIS 6. x, см. раздел Перенос драйверов NDIS 5.x в NDIS 6.0.

Функция NdisMRegisterUnloadHandler регистрирует обработчик выгрузки для драйвера.

Синтаксис

void NdisMRegisterUnloadHandler(
  [in] NDIS_HANDLE    NdisWrapperHandle,
  [in] PDRIVER_UNLOAD UnloadHandler
);

Параметры

[in] NdisWrapperHandle

Указывает дескриптор, возвращаемый NdisMInitializeWrapper.

[in] UnloadHandler

Указывает точку входа для подпрограммы выгрузки драйвера. Подпрограмма выгрузки объявляется следующим образом:

VOID
(*PDRIVER_UNLOAD) (
    IN struct _DRIVER_OBJECT *DriverObject
    );

Возвращаемое значение

None

Remarks

Драйвер вызывает NdisMRegisterUnloadHandler из своей функции DriverEntry после того , как DriverEntry вызвал NdisMRegisterMiniport или NdisIMRegisterLayeredMiniport. NdisMRegisterUnloadHandler регистрирует обработчик выгрузки для драйвера.

Функциональность обработчика выгрузки зависит от драйвера. Например, промежуточный драйвер должен зарегистрировать обработчик выгрузки, который вызывает NdisDeregisterProtocol для отмены регистрации части протокола промежуточного драйвера. Обработчик выгрузки также должен выполнять все необходимые операции очистки, такие как освобождение ресурсов, используемых частью протокола драйвера.

Драйвер минипорта, например драйвер мини-порта с балансировкой нагрузки, который отслеживает несколько экземпляров драйвера мини-порта, должен зарегистрировать обработчик выгрузки, который очищает сведения о состоянии и освобождает ресурсы после остановки отслеживаемых экземпляров драйвера мини-порта. Обратите внимание, что обработчик выгрузки отличается от функции MiniportHalt: обработчик выгрузки имеет более глобальный область, тогда как область функции MiniportHalt ограничена определенным экземпляром драйвера мини-порта.

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

Требования

Требование Значение
Заголовок ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL PASSIVE_LEVEL

См. также раздел