Освобождение порта NDIS
Драйвер мини-порта должен освободить все порты NDIS, выделенные для адаптеров минипорта, в функции MiniportInitializeEx . Он может освободить порт в любое время, вызвав NdisMFreePort, за исключением двух случаев, указанных ниже.
Драйвер мини-порта должен освободить все выделенные порты в следующих случаях:
- Если функция MiniportInitializeEx драйвера завершается сбоем, она должна освободить все выделенные порты.
- Если адаптер минипорта остановлен, функция MiniportHaltEx драйвера должна освободить все выделенные порты.
Драйвер мини-порта не может просто вызвать NdisMFreePort в следующих случаях:
- Если порт является портом по умолчанию, NDIS освобождает его автоматически, поэтому драйвер минипорта не должен освобождать его. При попытке освободить порт по умолчаниюNdisMFreePort возвращает ошибку NDIS_STATUS_INVALID_PORT.
- Если порт активен, драйвер мини-порта должен отключить его перед вызовом NdisMFreePort.