Condividi tramite


MINIPORT_REMOVE_DEVICE funzione di callback (ndis.h)

La funzione MiniportRemoveDevice rilascia le risorse allocate dalla funzione MiniportAddDevice .

Nota È necessario dichiarare la funzione usando il tipo di MINIPORT_REMOVE_DEVICE . Per altre informazioni, vedere la sezione Esempi seguenti.
 

Sintassi

MINIPORT_REMOVE_DEVICE MiniportRemoveDevice;

void MiniportRemoveDevice(
  [in] NDIS_HANDLE MiniportAddDeviceContext
)
{...}

Parametri

[in] MiniportAddDeviceContext

Handle per un'area di contesto allocata dal driver registrato con NDIS nella funzione MiniportAddDevice .

Valore restituito

nessuno

Osservazioni

La funzione MiniportRemoveDevice è una funzione facoltativa. I driver miniport che supportano MSI-X devono specificare un punto di ingresso per questa funzione nell'oggetto NDIS_MINIPORT_PNP_CHARACTERISTICS struttura.

Quando NDIS riceve una richiesta dal gestore Plug and Play (PnP) per rimuovere un dispositivo, NDIS chiama la funzione MiniportRemoveDevice. MiniportRemoveDevice deve quindi annullare le operazioni eseguite dalla funzione MiniportAddDevice .

Le schede miniport potrebbero essere arrestate e inizializzate più volte prima che NDIS chiami MiniportRemoveDevice. Se NDIS denominato MiniportAddDevice e restituito NDIS_STATUS_SUCCESS, NDIS non chiamerà MiniportAddDevice per la stessa scheda miniport prima di chiamare MiniportRemoveDevice per tale scheda.

NDIS chiama MiniportRemoveDevice in IRQL = PASSIVE_LEVEL.

Esempi

Per definire una funzione MiniportRemoveDevice , è prima necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione MiniportRemoveDevice denominata "MyRemoveDevice ", usare il tipo di MINIPORT_REMOVE_DEVICE come illustrato in questo esempio di codice:

MINIPORT_REMOVE_DEVICE MyRemoveDevice;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
VOID
 MyRemoveDevice(
    NDIS_HANDLE  MiniportAddDeviceContext
    )
  {...}

Il tipo di funzione MINIPORT_REMOVE_DEVICE è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano usate le annotazioni applicate al tipo di funzione MINIPORT_REMOVE_DEVICE nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.

Per informazioni su Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (includere Ndis.h)
IRQL PASSIVE_LEVEL

Vedi anche

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS