Freigeben über


RegQueryValueA-Funktion (winreg.h)

Ruft die Daten ab, die dem Standard- oder unbenannten Wert eines angegebenen Registrierungsschlüssels zugeordnet sind. Die Daten müssen eine NULL--terminated-Zeichenfolge sein.

Hinweis Diese Funktion wird nur zur Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt. Anwendungen sollten die RegQueryValueEx--Funktion verwenden.
 

Syntax

LSTATUS RegQueryValueA(
  [in]                HKEY   hKey,
  [in, optional]      LPCSTR lpSubKey,
  [out, optional]     LPSTR  lpData,
  [in, out, optional] PLONG  lpcbData
);

Parameter

[in] hKey

Ein Handle zu einem geöffneten Registrierungsschlüssel. Der Schlüssel muss mit dem zugriffsrecht KEY_QUERY_VALUE geöffnet worden sein. Weitere Informationen finden Sie unter Registry Key Security and Access Rights.

Dieses Handle wird von der RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExoder RegOpenKeyTransacted Funktion zurückgegeben. Es kann auch einer der folgenden vordefinierten Schlüsselsein:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in, optional] lpSubKey

Der Name des Unterschlüssels des hKey-Parameters, für den der Standardwert abgerufen wird.

Bei Schlüsselnamen wird die Groß-/Kleinschreibung nicht beachtet.

Wenn dieser Parameter NULL- ist oder auf eine leere Zeichenfolge verweist, ruft die Funktion den Standardwert für den durch hKeyidentifizierten Schlüssel ab.

Weitere Informationen finden Sie unter Registrierungselementgrößenbeschränkungen.

[out, optional] lpData

Ein Zeiger auf einen Puffer, der den Standardwert des angegebenen Schlüssels empfängt.

Wenn lpValue-NULL-ist und lpcbValue nichtNULL-ist, gibt die Funktion ERROR_SUCCESS zurück und speichert die Größe der Daten in Byte in der Variablen, auf die durch lpcbValueverwiesen wird. Auf diese Weise kann eine Anwendung die beste Methode zum Zuordnen eines Puffers für die Daten des Werts ermitteln.

[in, out, optional] lpcbData

Ein Zeiger auf eine Variable, der die Größe des Puffers angibt, auf den der parameter lpValue in Bytes verweist. Wenn die Funktion zurückgegeben wird, enthält diese Variable die Größe der daten, die in lpValue-kopiert wurden, einschließlich aller endenden Nullzeichen Zeichen.

Wenn die Daten über die REG_SZ, REG_MULTI_SZ oder REG_EXPAND_SZ Typ verfügen, enthält diese Größe alle endenden NULL- Zeichen oder Zeichen. Weitere Informationen finden Sie in den Hinweisen.

Wenn der angegebene Puffer lpValue nicht groß genug ist, um die Daten aufzunehmen, gibt die Funktion ERROR_MORE_DATA zurück und speichert die erforderliche Puffergröße in der Variablen, auf die durch lpcbValueverweist. In diesem Fall sind die Inhalte des lpValue- Puffers nicht definiert.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode.

Wenn der lpValue Puffer zu klein ist, um den Wert zu erhalten, gibt die Funktion ERROR_MORE_DATA zurück.

Bemerkungen

Wenn die ANSI-Version dieser Funktion verwendet wird (entweder durch explizites Aufrufen RegQueryValueA oder durch Nichtdefinition von UNICODE vor dem Einschließen der Datei "Windows.h"), konvertiert diese Funktion die gespeicherte Unicode-Zeichenfolge in eine ANSI-Zeichenfolge, bevor Sie sie in den durch den lpValue Parameter angegebenen Puffer kopieren.

Wenn die Daten den REG_SZ, REG_MULTI_SZ oder REG_EXPAND_SZ Typ aufweisen, wurde die Zeichenfolge möglicherweise nicht mit den richtigen NULL-zeichen-endating-Zeichen gespeichert. Selbst wenn die Funktion ERROR_SUCCESS zurückgibt, sollte die Anwendung daher sicherstellen, dass die Zeichenfolge ordnungsgemäß beendet wird, bevor sie verwendet wird; andernfalls kann ein Puffer überschrieben werden. (Beachten Sie, dass REG_MULTI_SZ Zeichenfolgen zwei null-endating characters aufweisen sollen.)

Beachten Sie, dass Vorgänge, die auf bestimmte Registrierungsschlüssel zugreifen, umgeleitet werden. Weitere Informationen finden Sie unter Registry Virtualization und 32-Bit- und 64-Bit-Anwendungsdaten in der Registrierung.

Anmerkung

Der winreg.h-Header definiert RegQueryValue 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winreg.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

RegEnumKeyEx-

RegEnumValue-

RegQueryInfoKey-

RegQueryValueEx-

RegSetValueEx-

Registrierungsfunktionen

Registrierungsübersicht