DEVPROP_TYPE_STRING_INDIRECT

Der DEVPROP_TYPE_STRING_INDIRECT-Bezeichner stellt den Basisdatentypbezeichner für eine MIT NULL beendete Unicode-Zeichenfolge dar, die einen indirekten Zeichenfolgenverweis enthält.

Bemerkungen

Ein indirekter Zeichenfolgenverweis beschreibt eine Zeichenfolgenressource, die die tatsächliche Zeichenfolge enthält. Der indirekte Zeichenfolgenverweis kann in einem der folgenden Formate angezeigt werden:

@[Pfad\] Dateiname,-ResourceID
Windows extrahiert die Zeichenfolge aus dem Modul, das durch die Einträge path und FileName angegeben wird, und der Ressourcenbezeichner der Zeichenfolge wird vom ResourceID-Eintrag (mit Ausnahme des erforderlichen Minuszeichens) angegeben. Die Zeichenfolgenressource wird aus dem Modulressourcenabschnitt geladen, der am besten mit einer der bevorzugten Benutzeroberflächensprachen des Aufrufers übereinstimmt. Der Pfadeintrag ist optional. Wenn Sie den Pfadeintrag angeben, muss sich das Modul in einem Verzeichnis befinden, das sich im systemdefiniertem Suchpfad befindet.

@ InfName,%strkey%
Windows extrahiert die Zeichenfolge aus dem Abschnitt INF-Zeichenfolgen der INF-Datei im Verzeichnis %SystemRoot%\inf , dessen Name vom InfName-Eintrag angegeben wird. Der Strkey-Tokenbezeichner sollte mit dem Schlüssel einer Zeile im Abschnitt Zeichenfolgen übereinstimmen, die am besten mit einer der bevorzugten Benutzeroberflächensprachen des Aufrufers übereinstimmt. Wenn keine sprachspezifischen Zeichenfolgenabschnitte vorhanden sind, verwendet Windows den Standardabschnitt Zeichenfolgen .

Sie können DEVPROP_TYPE_STRING_INDIRECT nicht mit einem der Eigenschaft-Datentyp-Modifizierer kombinieren.

Festlegen einer Eigenschaft dieses Typs

Um eine Eigenschaft festzulegen, deren Basisdatentyp DEVPROP_TYPE_STRING_INDIRECT ist, rufen Sie die entsprechende SetupDiSetXxx-Eigenschaftsfunktion auf, und legen Sie die Funktionseingabeparameter wie folgt fest:

  • Legen Sie den PropertyType-Parameter auf DEVPROP_TYPE_STRING_INDIRECT fest.

  • Legen Sie den PropertyBuffer-Parameter auf einen Zeiger auf einen Puffer fest, der die NULL-Zeichenfolge enthält, die einen indirekten Zeichenfolgenverweis bereitstellt.

  • Legen Sie den Parameter PropertyBufferSize auf die Größe der Zeichenfolge in Bytes fest.

  • Legen Sie die verbleibenden Funktionsparameter als angemessen fest, um die -Eigenschaft festzulegen.

Abrufen des Werts dieses Eigenschaftstyps

Wenn eine Anwendung eine SetupDiGetXxx-Eigenschaftsfunktion aufruft, um den Wert einer Eigenschaft dieses Basisdatentyps abzurufen, versucht Windows, die tatsächliche Zeichenfolge zu finden, auf die die Eigenschaft verweist. Wenn Windows die tatsächliche Zeichenfolge abrufen kann, gibt es die tatsächliche Zeichenfolge an den Aufrufer zurück und identifiziert den Basisdatentyp der abgerufenen Eigenschaft als DEVPROP_TYPE_STRING. Andernfalls gibt Windows den indirekten Zeichenfolgenverweis zurück und identifiziert den Basisdatentyp der abgerufenen Eigenschaft als DEVPROP_TYPE_STRING_INDIRECT.

Lokalisieren von statischem Text

Ab Windows Vista können Sie benutzerdefinierte und standardmäßige PnP-Eigenschaften für statischen Text mithilfe von Ressourcen aus den Zeichenfolgen- oder Ressourcentabellen eines PE-Images lokalisieren, indem Sie statische Texteigenschaftentypen auf DEVPROP_TYPE_STRING_INDIRECT festlegen. Sie können auch nicht lokalisierte Ersatzzeichenfolgendaten hinzufügen, die in den statischen Text formatiert werden können.

Zeichenfolgen, die sich in der STRINGTABLE-Ressource eines PE-Images befinden (wie in der Regel von LoadString ausgeführt), sollten das folgende Format verwenden:

"@"System32\mydll.dll,-21[; Fallback" String]"

"@System32\mydll.dll,-21[; Fallbackzeichenfolge mit %1, %2, ... zu %n[;(Arg1,Arg2,...,ArgN)]]"

Zeichenfolgen, die sich in der Nachrichtentabellenressource eines PE-Images befinden (wie in der Regel von RtlFindMessage ausgeführt, häufiger in Treibern verwendet) sollten das folgende Format verwenden:

"@System32\drivers\mydriver.sys,#21[; Fallbackzeichenfolge]"

"@System32\drivers\mydriver.sys,#21[; Fallbackzeichenfolge mit %1, %2, ... zu %n[;(Arg1,Arg2,...,ArgN)]]"

Eine "Fallbackzeichenfolge" ist optional, aber nützlich, da sie zurückgegeben werden kann, wenn die Ressource nicht gefunden oder geladen werden kann. Die Fallbackzeichenfolge wird auch an nicht interaktive Systemprozesse zurückgegeben, die keine Identität eines Benutzers annehmen und daher keinen lokalisierten Text für Benutzer anzeigen können.

Mit diesem Verfahren können Sie statischen Text lokalisieren, der aus der Zeichenfolgen- oder Nachrichtentabellenressource abgerufen wird, die dem Gebietsschema des Aufrufers am besten entspricht.

Windows formatiert die nachfolgenden Argumente in die Zeichenfolge (oder die Fallbackzeichenfolge), wenn sie aus der jeweiligen Ressourcentabelle abgerufen werden, ähnlich wie RtlFormatMessage.

Der statische PnP-Text vom Typ benutzerdefinierter und standardmäßiger Zeichenfolgentyp wird lokalisiert, wenn Sie die Eigenschaft festlegen, indem Sie die Ressource aus der Komponente laden, die den Setvorgang ausführt. Dies geschieht normalerweise unter dem Standardgebietsschema des Systems für Komponenten auf Systemebene.

Hinweis: PE-Images können entweder den Ressourcentabellentyp (STRINGTABLE-Ressourcen oder Nachrichtentabellenressourcen) verwenden.

Requirements (Anforderungen)

Version

Windows Vista und höhere Versionen von Windows.

Header

Devpropdef.h (einschließlich Devpropdef.h)

Weitere Informationen

DEVPROP_TYPE_STRING