SHRegQueryUSValueW-Funktion (shlwapi.h)

Ruft den Typ und die Daten für einen angegebenen Namen ab, der einem geöffneten Registrierungsunterschlüssel in einer benutzerspezifischen Unterstruktur (HKEY_CURRENT_USER oder HKEY_LOCAL_MACHINE) zugeordnet ist.

Syntax

LSTATUS SHRegQueryUSValueW(
  [in]                HUSKEY  hUSKey,
  [in, optional]      LPCWSTR pszValue,
  [in, out, optional] DWORD   *pdwType,
  [out, optional]     void    *pvData,
  [in, out]           DWORD   *pcbData,
  [in]                BOOL    fIgnoreHKCU,
  [in, optional]      void    *pvDefaultData,
  [in, optional]      DWORD   dwDefaultDataSize
);

Parameter

[in] hUSKey

Typ: HUSKEY

Ein Handle für einen derzeit geöffneten Registrierungsunterschlüssel oder einen der folgenden vordefinierten Werte. Der Unterschlüssel muss mit dem zugriffsrecht KEY_SET_VALUE geöffnet worden sein. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.

Dieses Handle kann über die SHRegOpenUSKey-Funktion abgerufen werden.

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszValue

Typ: LPCTSTR

Ein Zeiger auf die NULL-Zeichenfolge, die den Namen des abzufragten Werts enthält.

[in, out, optional] pdwType

Typ: LPDWORD*

Ein Zeiger auf die Variable, die den Werttyp des Schlüssels festlegt oder empfängt. Weitere Informationen finden Sie unter Registrierungsdatentypen. Dieser Parameter kann NULL sein.

[out, optional] pvData

Typ: LPVOID*

Ein Zeiger auf den Puffer, der die Daten des Werts empfängt. Dieser Parameter kann NULL sein, wenn die Daten nicht erforderlich sind.

[in, out] pcbData

Typ: LPDWORD*

Ein Zeiger auf die Variable, der die Größe des Puffers in Bytes angibt, auf den der pvData-Parameter verweist. Wenn die Funktion zurückgibt, enthält diese Variable die Größe der in pvData kopierten Daten.

[in] fIgnoreHKCU

Typ: BOOL

Die Variable, die angibt, unter welchen Schlüssel gesucht werden soll. Wenn sie auf TRUE festgelegt ist, ignoriert SHRegQueryUSValueHKEY_CURRENT_USER und gibt den Wert aus dem Schlüssel unter HKEY_LOCAL_MACHINE zurück.

[in, optional] pvDefaultData

Typ: LPVOID*

Ein Zeiger auf die Standarddaten.

[in, optional] dwDefaultDataSize

Art: DWORD

Die Länge der Standarddaten in Bytes.

Rückgabewert

Typ: LSTATUS

Gibt bei erfolgreicher Ausführung ERROR_SUCCESS oder andernfalls einen in Winerror.h definierten Nonzero-Fehlercode zurück. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Hinweise

Wenn fIgnoreHKCU auf TRUE festgelegt ist, gibt SHRegQueryUSValue den Wert aus dem Schlüssel unter HKEY_LOCAL_MACHINE zurück. Wenn auf FALSE festgelegt ist, versucht SHRegQueryUSValue zuerst, den Wert vom Schlüssel unter HKEY_CURRENT_USER zurückzugeben. Wenn der Schlüssel jedoch nicht unter HKEY_CURRENT_USER gefunden wird, wird der Wert vom Schlüssel unter HKEY_LOCAL_MACHINE zurückgegeben. Wenn kein Schlüssel vorhanden ist oder ein Fehler auftritt und dwDefaultDataSize nichtzero ist, werden die Standarddaten in pvData kopiert und ERROR_SUCCESS zurückgegeben. ERROR_SUCCESS gibt sowohl für Standarddaten als auch für Nicht-Standarddaten zurück, und es gibt keine Möglichkeit, zu unterscheiden, welcher Wert in pvData kopiert wird. Um die Verwendung von Standarddaten zu verhindern, legen Sie pvDefaultData auf NULL und dwDefaultDataSize auf Null fest.

Wenn Sie nur einen einzelnen Wert lesen müssen, öffnet SHRegGetUSValue den Schlüssel und gibt den Wert zurück. Um SHRegQueryUSValue zu verwenden, müssen Sie zuerst den Schlüssel mit SHRegOpenUSKey öffnen. Sobald der Schlüssel jedoch geöffnet wurde, können Sie SHRegQueryUSValue so oft wie nötig verwenden. Wenn Sie mehrere Werte aus demselben Schlüssel abrufen müssen, ist die Verwendung mehrerer Aufrufe von SHRegQueryUSValue in der Regel effizienter als SHRegGetUSValue, da der Schlüssel nur einmal geöffnet wird.

Hinweis

Der shlwapi.h-Header definiert SHRegQueryUSValue als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
Bibliothek Shlwapi.lib
DLL Shlwapi.dll (Version 4.71 oder höher)