Condividi tramite


IRP_MN_STOP_DEVICE

Tutti i driver PnP devono gestire questo IRP.

Valore

0x04

Codice principale

IRP_MJ_PNP

Data di invio

Il gestore PnP invia questo IRP per arrestare un dispositivo in modo che possa riconfigurare le risorse hardware del dispositivo.

Nei sistemi Windows 2000 e versioni successive, il gestore PnP invia questo IRP solo se un IRP_MN_QUERY_STOP_DEVICE precedente è stato completato correttamente.

In Windows 98/Me, il gestore PnP invia anche l'IRP quando un dispositivo è disabilitato e quando uno stack di dispositivi ha avuto esito negativo in una richiesta di IRP_MN_START_DEVICE . In caso di avvio non riuscito, il gestore PnP invia l'IRP senza una richiesta di IRP_MN_QUERY_STOP_DEVICE precedente.

Il gestore PnP invia l'IRP in IRQL PASSIVE_LEVEL nel contesto di un thread di sistema.

Parametri di input

Nessuno

Parametri di output

Nessuno

Blocco dello stato I/O

Un driver deve impostare Irp-IoStatus.Status> su STATUS_SUCCESS.

Operazione

Questo IRP viene gestito prima dal driver nella parte superiore dello stack di dispositivi e quindi passato a ogni driver inferiore nello stack.

In risposta a questa IRP, Windows 2000 e i driver successivi arrestano il dispositivo e rilasciano tutte le risorse hardware usate dal dispositivo, ad esempio porte di I/O e interruzioni.

In Windows 2000 e versioni successive viene usato solo un'IRP stop per liberare le risorse hardware di un dispositivo in modo che possano essere riconfigurate. Una volta riconfigurate le risorse, il dispositivo viene riavviato. Un'IRP di arresto non è un precursore di una rimozione di IRP. Vedere Plug and Play per altre informazioni sull'ordine in cui vengono inviati PnP IRP ai dispositivi.

In Windows 98/Me viene usato anche un'IRP di arresto dopo un avvio non riuscito e quando un dispositivo è disabilitato. I driver WDM eseguiti in questi sistemi operativi devono arrestare il dispositivo, non riuscire a eseguire operazioni di I/O in ingresso e disabilitare e annullare la registrazione di eventuali interfacce in modalità utente.

Un driver non deve avere esito negativo su questo IRP. Se un driver non può rilasciare le risorse hardware del dispositivo, deve avere esito negativo nell'IRP precedente.

Vedere Arresto di un dispositivo per informazioni dettagliate sulla gestione di IRP di arresto.

Invio di questo IRP

Riservato per l'utilizzo nel sistema. I driver non devono inviare questo IRP.

Requisiti

Intestazione

Wdm.h (include Wdm.h, Ntddk.h o Ntifs.h)

Vedi anche

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_START_DEVICE

IoSetDeviceInterfaceState

IoRegisterDeviceInterface