Regola PnpSurpriseRemove (wdm)

La regola PnpSurpriseRemove specifica che il driver non chiama IoDeleteDevice o IoDetachDevice durante l'elaborazione di una richiesta di IRP_MN_SURPRISE_REMOVAL .

Il gestore PnP invia la richiesta di IRP_MN_SURPRISE_REMOVAL per notificare ai driver che un dispositivo non è più disponibile per le operazioni di I/O e che probabilmente è stato rimosso in modo imprevisto dal computer.

  • Tutti i driver PnP devono gestire IRP_MN_SURPRISE_REMOVAL richiesta.
  • Il driver non deve chiamare IoDeleteDevice o IoDetachDevice sugli oggetti dispositivo finché l'IRP IRP_MN_SURPRISE_REMOVAL ha esito positivo e tutti gli handle aperti al dispositivo vengono chiusi.
  • Il gestore PnP invia quindi una richiesta di IRP_MN_REMOVE_DEVICE allo stack di dispositivi. In risposta alla rimozione dell'IRP, i driver scollegano gli oggetti dispositivo dallo stack ed eliminarli.

Per altre informazioni su come un driver deve rispondere alla richiesta di IRP_MN_SURPRISE_REMOVAL , vedere Gestione di una richiesta di IRP_MN_SURPRISE_REMOVAL

Modello di driver: WDM

Come eseguire il test

In fase di compilazione

Eseguire il verifica driver statico e specificare la regola PnpSurpriseRemove .

Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
  1. Prepara il codice (usa dichiarazioni di tipo ruolo).
  2. Esegui Driver Verifier statico.
  3. Visualizza e analizza i risultati.

Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver.

Si applica a

IoDeleteDeviceIoDetachDevice

Vedi anche

Gestione di una richiesta di IRP_MN_SURPRISE_REMOVAL analisi diun driver tramite gli strumenti di verifica e analisi del codiceIRP_MN_SURPRISE_REMOVAL IRP_MN_REMOVE_DEVICE