IRP_MN_QUERY_DEVICE_TEXT

El administrador de PnP usa este IRP para obtener la información de descripción o ubicación de un dispositivo.

Los conductores de autobús deben controlar esta solicitud para sus dispositivos secundarios si el autobús admite esta información. Los controladores de función y filtro no controlan este IRP.

Value

0x0C

Código principal

IRP_MJ_PNP

Cuándo se envió

El administrador de PnP envía dos de estos IRP cuando se enumera un dispositivo: uno para consultar la descripción del dispositivo y otro para consultar la información de ubicación.

El administrador de PnP envía este IRP a IRQL PASSIVE_LEVEL en un contexto de subproceso arbitrario.

Parámetros de entrada

El miembro Parameters.QueryDeviceText.DeviceTextType de la estructura IO_STACK_LOCATION es un valor de DEVICE_TEXT_TYPE que especifica qué cadena se solicita. Los valores posibles para DEVICE_TEXT_TYPE incluyen DeviceTextDescription y DeviceTextLocationInformation.

Parameters.QueryDeviceText.LocaleId es un LCID que especifica la configuración regional para el texto solicitado.

Parámetros de salida

Se devuelve en el bloque de estado de E/S.

Bloque de estado de entrada/salida

Un controlador establece Irp-IoStatus.Status> en STATUS_SUCCESS o en un estado de error adecuado.

Si se ejecuta correctamente, un controlador de autobús establece Irp-IoStatus.Information> en un puntero a un bloque de memoria asignado por el controlador que contiene un búfer WCHAR con la información solicitada. En un error, el controlador de bus establece Irp-IoStatus.Information> en cero.

Operación

Se recomienda encarecidamente a los conductores de autobús que devuelvan descripciones de dispositivos para sus dispositivos secundarios. Esta cadena se muestra en la ventana emergente Encontrado nuevo hardware si no se encuentra ninguna coincidencia INF para el dispositivo.

También se recomienda que los conductores de autobús devuelvan LocationInformation para sus dispositivos secundarios, pero esta información es opcional. El formato de esta cadena depende del bus. El administrador de dispositivos muestra esta cadena en la pestaña propiedades generales del dispositivo. Los proveedores deben elegir una cadena que transmita información útil a los usuarios y al personal de soporte técnico. Por ejemplo, para PCI, la cadena contiene el bus, el dispositivo y la función. Para la tarjeta PC, la cadena contiene la ranura.

Si un controlador de bus devuelve información en respuesta a este IRP, asigna una cadena Unicode terminada en NULL desde la memoria paginada. El administrador de PnP libera la cadena cuando ya no es necesaria.

Si un dispositivo no proporciona información de descripción o ubicación, el controlador de bus primario del dispositivo completa el IRP (IoCompleteRequest) sin modificar Irp-IoStatus.Status> o Irp-IoStatus.Information>.

Los controladores de función y filtro no controlan este IRP; lo pasan al siguiente controlador inferior sin cambios en Irp-IoStatus>.

Los controladores de los autobuses que admiten cadenas de texto diferentes para diferentes configuraciones regionales deben poder controlar una solicitud de un idioma que no sea compatible explícitamente con el dispositivo. En tal situación, el controlador de autobús debe devolver la coincidencia más cercana para la configuración regional o debe revertir y devolver alguna cadena de configuración regional compatible adecuada.

Consulte Plug and Play para conocer las reglas generales para controlar Plug and Play IRP menores.

Envío de este IRP

Reservado para uso del sistema. Los controladores no deben enviar este IRP.

Requisitos

Encabezado

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