Liberare una porta NDIS

Il driver miniport deve liberare tutte le porte NDIS che alloca per le schede miniport nella sua funzione MiniportInitializeEx . Può liberare una porta in qualsiasi momento chiamando NdisMFreePort, ad eccezione dei due casi indicati di seguito.

Il driver miniport deve liberare tutte le porte allocate in questi casi:

  • Se la funzione MiniportInitializeEx del driver ha esito negativo, deve liberare tutte le porte allocate.
  • Se viene interrotta una scheda miniport, la funzione MiniportHaltEx del driver deve liberare tutte le porte allocate.

Il driver miniport non può semplicemente chiamare NdisMFreePort in questi casi:

  • Se la porta è la porta predefinita, NDIS lo libera automaticamente, quindi il driver miniport non deve liberarlo. Se si tenta di liberare la porta predefinita, NdisMFreePort restituisce un errore di NDIS_STATUS_INVALID_PORT.
  • Se la porta è attiva, il driver miniport dovrà disattivarlo prima di chiamare NdisMFreePort.

Allocazione delle porte NDIS

Disattivazione delle porte NDIS

Porta NDIS predefinita