SHRegQueryUSValueA-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 SHRegQueryUSValueA(
  [in]                HUSKEY hUSKey,
  [in, optional]      LPCSTR 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-endende 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 parameter pvData 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 welchem Schlüssel gesucht werden soll. Bei Festlegung auf TRUE 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 Fehlercode ungleich null 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. Bei Festlegung auf FALSE versucht SHRegQueryUSValue zuerst, den Wert aus dem 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 keiner der Schlüssel vorhanden ist oder ein Fehler auftritt und dwDefaultDataSize ungleich null ist, werden die Standarddaten in pvData kopiert und ERROR_SUCCESS zurückgegeben. ERROR_SUCCESS gibt sowohl für Standarddaten als auch für nicht standardmäßige Daten 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 sowohl den Schlüssel als auch gibt den Wert zurück. Um SHRegQueryUSValue zu verwenden, müssen Sie zuerst den Schlüssel mit SHRegOpenUSKey öffnen. Nachdem 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 die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, 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)