Condividi tramite


IRP_MN_QUERY_DEVICE_TEXT

Il gestore PnP usa questo IRP per ottenere le informazioni sulla posizione o la descrizione di un dispositivo.

I conducenti del bus devono gestire questa richiesta per i dispositivi figlio se il bus supporta queste informazioni. I driver di funzione e filtro non gestiscono questo IRP.

Valore

0x0C

Codice principale

IRP_MJ_PNP

Data di invio

Il gestore PnP invia due di questi irP quando viene enumerato un dispositivo: uno per eseguire una query sulla descrizione del dispositivo e uno per eseguire una query sulle informazioni sulla posizione.

Il gestore PnP invia questo IRP al PASSIVE_LEVEL IRQL in un contesto di thread arbitrario.

Parametri di input

Il membro Parameters.QueryDeviceText.DeviceTextType della struttura IO_STACK_LOCATION è un valore DEVICE_TEXT_TYPE che specifica la stringa richiesta. I valori possibili per DEVICE_TEXT_TYPE includono DeviceTextDescription e DeviceTextLocationInformation.

Parameters.QueryDeviceText.LocaleId è un LCID che specifica le impostazioni locali per il testo richiesto.

Parametri di output

Restituito nel blocco di stato di I/O.

Blocco dello stato I/O

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

In caso di esito positivo, un driver del bus imposta Irp-IoStatus.Information> su un puntatore a un blocco di memoria allocato dal driver contenente un buffer WCHAR con le informazioni richieste. In caso di errore, il driver dell'autobus imposta Irp-IoStatus.Information> su zero.

Operazione

I conducenti degli autobus sono fortemente invitati a restituire descrizioni dei dispositivi per i dispositivi figlio. Questa stringa viene visualizzata nella finestra popup Trovato nuovo hardware se non viene trovata alcuna corrispondenza INF per il dispositivo.

Anche i conducenti degli autobus sono invitati a restituire LocationInformation per i propri dispositivi figlio, ma queste informazioni sono facoltative. Il formato di questa stringa dipende dal bus. Gestione dispositivi visualizza questa stringa nella scheda delle proprietà generali per il dispositivo. I fornitori devono scegliere una stringa che trasmette informazioni utili agli utenti e al personale di supporto. Ad esempio, per PCI, la stringa contiene il bus, il dispositivo e la funzione. Per la scheda PC, la stringa contiene lo slot.

Se un driver del bus restituisce informazioni in risposta a questo IRP, alloca una stringa Unicode con terminazione NULL dalla memoria di paging. Il gestore PnP libera la stringa quando non è più necessaria.

Se un dispositivo non fornisce informazioni sulla descrizione o sulla posizione, il driver del bus padre del dispositivo completa l'IRP (IoCompleteRequest) senza modificare Irp-IoStatus.Status> o Irp-IoStatus.Information>.

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

I driver per i bus che supportano stringhe di testo diverse per impostazioni locali diverse devono essere in grado di gestire una richiesta per una lingua non supportata in modo esplicito dal dispositivo. In una situazione di questo tipo, il driver del bus deve restituire la corrispondenza più vicina per le impostazioni locali o deve eseguire il fallback e restituire una stringa di impostazioni locali supportata appropriata.

Vedere Plug and Play per le regole generali per la gestione dei runtime di integrazione secondaria di 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)