Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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\]FileName,-ResourceID
Windows extrahiert die Zeichenfolge aus dem Modul, das durch die Pfad- und FileName-Einträge 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 vom System definierten 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 Standardmäßigen Zeichenfolgenabschnitt.
Sie können DEVPROP_TYPE_STRING_INDIRECT nicht mit einem der Modifizierer vom Typ "Eigenschaft"-Datentyp 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 mit NULL beendete Zeichenfolge enthält, die einen indirekten Zeichenfolgenverweis bereitstellt.
Legen Sie den PropertyBufferSize-Parameter auf die Größe der Zeichenfolge in Bytes fest.
Legen Sie die verbleibenden Funktionsparameter entsprechend 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 sie 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
Beginnend mit 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-Bilds lokalisieren, indem Sie statische Eigenschaftentypen auf DEVPROP_TYPE_STRING_INDIRECT festlegen. Sie können auch nicht lokalisierte Ersetzungszeichenfolgendaten hinzufügen, die in den statischen Text formatiert werden können.
Zeichenfolgen, die sich in der STRINGTABLE-Ressource eines PE-Bilds 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, ... %n[;( Arg1,Arg2,...,ArgN)]]"
Zeichenfolgen, die sich in der Nachrichtentabellenressource eines PE-Images befinden (wie in der Regel von RtlFindMessage, 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, ... %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 keinen Identitätswechsel eines Benutzers darstellen, und als solche kann kein lokalisierter Text für Benutzer angezeigt werden.
Mit dieser Technik können Sie statischen Text lokalisieren, der aus der Zeichenfolgen- oder Nachrichtentabellenressource abgerufen wird, die am besten mit dem Gebietsschema des Aufrufers übereinstimmt.
Windows formatiert die nachfolgenden Argumente in die Zeichenfolge (oder die Fallbackzeichenfolge), wenn sie aus der jeweiligen Ressourcentabelle abgerufen werden, ähnlich wie rtlFormatMessage.
Benutzerdefinierter und standardmäßiger PnP-Statischer Text wird lokalisiert, wenn Sie die Eigenschaft festlegen, indem Sie die Ressource aus der Komponente laden, die den Satzvorgang ausführt. Dies geschieht in der Regel unter dem Systemstandardgebietsschema für Komponenten auf Systemebene.
Hinweis: PE-Bilder können entweder den Ressourcentabellentyp (STRINGTABLE-Ressourcen oder Nachrichtentabellenressourcen) verwenden.
Requirements
Version |
Windows Vista und höhere Versionen von Windows. |
Header |
Devpropdef.h (enthalten Devpropdef.h) |