IRP_MN_QUERY_DEVICE_TEXT
Der PnP-Manager verwendet diese IRP, um die Beschreibung oder Standortinformationen eines Geräts abzurufen.
Bustreiber müssen diese Anforderung für ihre untergeordneten Geräte verarbeiten, wenn der Bus diese Informationen unterstützt. Funktions- und Filtertreiber verarbeiten diese IRP nicht.
Wert
0x0C
Hauptcode
Sendebedingungen
Der PnP-Manager sendet zwei dieser IRPs, wenn ein Gerät aufgezählt wird: eine zum Abfragen der Gerätebeschreibung und eine zum Abfragen der Standortinformationen.
Der PnP-Manager sendet diese IRP bei IRQL PASSIVE_LEVEL in einem beliebigen Threadkontext.
Eingabeparameter
Das Parameters.QueryDeviceText.DeviceTextType-Element der IO_STACK_LOCATION-Struktur ist ein DEVICE_TEXT_TYPE Wert, der angibt, welche Zeichenfolge angefordert wird. Mögliche Werte für DEVICE_TEXT_TYPE sind DeviceTextDescription und DeviceTextLocationInformation.
Parameters.QueryDeviceText.LocaleId ist eine LCID, die das Gebietsschema für den angeforderten Text angibt.
Ausgabeparameter
Wird im E/A-status-Block zurückgegeben.
E/A-Statusblock
Ein Treiber legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder auf einen entsprechenden Fehler status fest.
Bei Erfolg legt ein Bustreiber Irp-IoStatus.Information> auf einen Zeiger auf einen vom Treiber zugewiesenen Speicherblock fest, der einen WCHAR-Puffer mit den angeforderten Informationen enthält. Bei einem Fehler legt der Bustreiber Irp-IoStatus.Information> auf Null fest.
Vorgang
Busfahrer werden dringend empfohlen, Gerätebeschreibungen für ihre untergeordneten Geräte zurückzugeben. Diese Zeichenfolge wird im Popupfenster Neue Hardware gefunden angezeigt, wenn keine INF-Übereinstimmung für das Gerät gefunden wird.
Busfahrern wird auch empfohlen , LocationInformation für ihre untergeordneten Geräte zurückzugeben, aber diese Informationen sind optional. Das Format dieser Zeichenfolge hängt vom Bus ab. Der Geräte-Manager zeigt diese Zeichenfolge auf der Registerkarte Allgemeine Eigenschaften für das Gerät an. Anbieter sollten eine Zeichenfolge auswählen, die Benutzern und Supportmitarbeitern nützliche Informationen übermittelt. Für PCI enthält die Zeichenfolge beispielsweise den Bus, das Gerät und die Funktion. Für PC-Karte enthält die Zeichenfolge den Slot.
Wenn ein Bustreiber als Reaktion auf diese IRP Informationen zurückgibt, weist er eine MIT NULL beendete Unicode-Zeichenfolge aus dem ausgelagerten Speicher zu. Der PnP-Manager gibt die Zeichenfolge frei, wenn sie nicht mehr benötigt wird.
Wenn ein Gerät keine Beschreibung oder Standortinformationen bereitstellt, schließt der übergeordnete Bustreiber des Geräts die IRP (IoCompleteRequest) ab, ohne Irp-IoStatus.Status> oder Irp-IoStatus.Information> zu ändern.
Funktions- und Filtertreiber verarbeiten diese IRP nicht. Sie übergeben es an den nächstniedrigen Treiber ohne Änderungen an Irp-IoStatus>.
Treiber für Busse, die unterschiedliche Textzeichenfolgen für verschiedene Gebietsschemas unterstützen, sollten in der Lage sein, eine Anforderung für eine Sprache zu verarbeiten, die vom Gerät nicht explizit unterstützt wird. In einer solchen Situation sollte der Bustreiber die nächstgelegene Übereinstimmung für das Gebietsschema zurückgeben oder ein Fallback ausführen und eine geeignete unterstützte Gebietsschemazeichenfolge zurückgeben.
Die allgemeinen Regeln für die Behandlung Plug & Play untergeordneten IRPs finden Sie unter Plug & Play.
Senden dieses IRP
Ist für das System reserviert. Treiber dürfen diese IRP nicht senden.
Anforderungen
Header |
Wdm.h (einschließlich Wdm.h, Ntddk.h oder Ntifs.h) |