Сетевые интерфейсы NDIS

Интерфейс программирования сетевых интерфейсов NDIS предоставляет службы:

  • Создайте локальный уникальный идентификатор ( NET_LUID) для каждого интерфейса. NET_LUID значения:

    • Должен сохраняться при перезапуске компьютера. Поставщики интерфейсов должны сделать NET_LUIDs постоянным, даже если связанный интерфейс не является постоянным. Например, эта сохраняемость позволяет поставщику интерфейса освободить индекс NET_LUID, если произошел сбой питания компьютера.
    • Должен быть связан с типом интерфейса ( IfType в RFC 2863).
    • Должен быть уникальным на локальном компьютере.
    • Можно преобразовать в текстовое представление, так как NET_LUID эквивалентно имени интерфейса (ifName в RFC 2863).
  • Создайте локальный уникальный индекс интерфейса (24-разрядное значение, которое также называется IfIndex ) для каждого интерфейса. Если значенияIndex имеют следующие свойства:

    • Низкие числа предпочтительнее. Например, NDIS повторно использует самый низкий доступный индекс интерфейса.
    • Если значенияIndex не сохраняются при перезапуске компьютера.
    • Между значением NET_LUID и значением IfIndex существует соответствие один-к-одному.
  • Сопоставление между индексами интерфейса, значениями NET_LUID и "понятными именами" (например, понятное имя, отображаемое в папке сетевых подключений).

  • Определите порядок слоев интерфейсов в стеке драйверов.

  • Запрос и задание свойств интерфейса и таблиц, которым управляют драйверы NDIS и которые указывают RFCs 2863 и 2864.