Condividi tramite


IRP_MN_QUERY_RESOURCE_REQUIREMENTS

Il gestore PnP usa questo IRP per ottenere l'elenco dei requisiti delle risorse di un dispositivo.

I driver del bus devono gestire questa richiesta per i dispositivi figlio che richiedono risorse hardware. I driver di filtro del bus possono gestire questa richiesta. I driver di funzione e filtro non gestiscono l'IRP.

Valore

0x0B

Codice principale

IRP_MJ_PNP

Data di invio

Il gestore PnP invia questo IRP quando un dispositivo viene enumerato, prima di allocare risorse a un dispositivo e quando un driver segnala che i requisiti delle risorse del dispositivo sono stati modificati.

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

Parametri di input

Nessuno

Parametri di output

Restituito nel blocco di stato di I/O.

Blocco dello stato I/O

Un driver che gestisce questo IRP imposta Irp-IoStatus.Status> su STATUS_SUCCESS o uno stato di errore appropriato.

In caso di esito positivo, un driver imposta Irp-IoStatus.Information> su un puntatore a un IO_RESOURCE_REQUIREMENTS_LIST contenente le informazioni richieste. In un errore, il driver imposta Irp-IoStatus.Information> su zero.

Operazione

Se un driver del bus restituisce un elenco dei requisiti di risorsa in risposta a questa IRP, alloca un IO_RESOURCE_REQUIREMENTS_LIST dalla memoria in pagina. Il gestore PnP libera il buffer quando non è più necessario.

Se un dispositivo non richiede risorse hardware, il driver del bus del dispositivo completa l'IRP (IoCompleteRequest) senza modificare Irp-IoStatus.Status o Irp-IoStatus.Information>>.

Se un driver di filtro del bus gestisce questo IRP, modifica l'elenco dei requisiti delle risorse creato dal driver del bus. Un driver di filtro del bus modifica l'elenco nel modo in cui viene eseguito il backup dello stack di dispositivi. Un driver di filtro del bus deve mantenere l'ordine delle risorse nell'elenco dei requisiti delle risorse e non deve modificare i tag di risorsa che non gestisce. Se un driver di filtro del bus modifica le dimensioni dell'elenco dei requisiti delle risorse, il driver deve allocare una nuova struttura dalla memoria in pagina e liberare la struttura precedente. Se un driver di filtro del bus aggiunge un nuovo requisito di risorsa all'elenco e la risorsa viene assegnata al dispositivo, il driver deve filtrare la nuova risorsa dall'IRP IRP_MN_START_DEVICE in modo che non venga passata al driver del bus.

I driver di filtro funzione e non bus non gestiscono questa IRP; passano al driver inferiore successivo senza modifiche a Irp-IoStatus>.

Vedere Plug and Play per le regole generali per la gestione di irp secondari Plug and Play.

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

IO_RESOURCE_REQUIREMENTS_LIST