Операции поставщика интерфейса NDIS
Все драйверы NDIS могут регистрироваться в качестве поставщиков интерфейсов. Всякий раз, когда драйвер (или поставщик прокси-интерфейса NDIS) обнаруживает новый интерфейс, который вводится на компьютере, он выделяет индекс NET_LUID , регистрирует интерфейс и сохраняет связанное значение NET_LUID в постоянном хранилище (например, реестре). В следующем списке описано несколько примеров того, как можно внедрить новый интерфейс на компьютере.
Установка сетевого адаптера , виртуального адаптера для промежуточного драйвера или физического адаптера. В этом случае интерфейсом управляет поставщик прокси-интерфейса NDIS.
Присоединение модуля фильтра. В этом случае интерфейсом управляет поставщик прокси-интерфейса NDIS.
Внутренние привязки промежуточного драйвера MUX. Промежуточный драйвер MUX должен реализовать службы поставщика NDIS для обработки этого случая, так как внутренние интерфейсы не видны NDIS.
При последующей перезагрузке компьютера поставщик интерфейса не должен выделять новый NET_LUID для того же интерфейса, если интерфейс является постоянным; Вместо этого поставщик интерфейса должен использовать ранее сохраненное значение NET_LUID для регистрации того же интерфейса. Кроме того, даже если интерфейс не является постоянным, поставщик интерфейса должен освободить индекс NET_LUID в случае сбоя питания компьютера. Поэтому поставщик интерфейса должен хранить NET_LUID в постоянном хранилище (например, в реестре).
Если поставщик интерфейса обнаруживает, что интерфейс завершает работу, он должен отменить регистрацию интерфейса.
Примечание Поставщик прокси-сервера NDIS отменяет регистрацию интерфейсов для адаптеров мини-портов при их удалении и фильтрует модули при отсоединении.
Если поставщик интерфейса обнаруживает, что интерфейс удаляется полностью (например, поставщик прокси-сервера NDIS получает уведомление об удалении адаптера мини-порта), поставщик интерфейса отменяет регистрацию интерфейса и освобождает индекс NET_LUID. Поставщик прокси-сервера NDIS также освобождает индекс NET_LUID при отключении модуля фильтра.
Во время выполнения поставщики интерфейсов обрабатывают запросы OID для зарегистрированных интерфейсов. Поставщик прокси-интерфейса NDIS может выдавать запросы OID к базовым драйверам для получения сведений об интерфейсе.