Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse biedt methoden voor het bewerken van vermeldingen in het systeemregister.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CRegKey
Leden
Openbare constructors
| Naam | Description |
|---|---|
CRegKey::CRegKey |
De constructor. |
CRegKey::~CRegKey |
De destructor. |
Openbare methoden
| Naam | Description |
|---|---|
CRegKey::Attach |
Roep deze methode aan om een HKEY aan het CRegKey object toe te voegen door de m_hKey lidgreep in te stellen op hKey. |
CRegKey::Close |
Roep deze methode aan om de m_hKey lidhandgreep vrij te geven en in te stellen op NULL. |
CRegKey::Create |
Roep deze methode aan om de opgegeven sleutel te maken, als deze niet bestaat als een subsleutel van hKeyParent. |
CRegKey::DeleteSubKey |
Roep deze methode aan om de opgegeven sleutel uit het register te verwijderen. |
CRegKey::DeleteValue |
Roep deze methode aan om een waardeveld uit m_hKeyte verwijderen. |
CRegKey::Detach |
Roep deze methode aan om de m_hKey lidgreep los te koppelen van het CRegKey object en in te stellen m_hKey op NULL. |
CRegKey::EnumKey |
Roep deze methode aan om de subsleutels van de geopende registersleutel op te sommen. |
CRegKey::Flush |
Roep deze methode aan om alle kenmerken van de open registersleutel naar het register te schrijven. |
CRegKey::GetKeySecurity |
Roep deze methode aan om een kopie van de beveiligingsdescriptor op te halen die de open registersleutel beveiligt. |
CRegKey::NotifyChangeKeyValue |
Met deze methode wordt de aanroeper gewaarschuwd over wijzigingen in de kenmerken of inhoud van de geopende registersleutel. |
CRegKey::Open |
Roep deze methode aan om de opgegeven sleutel te openen en in te stellen m_hKey op de ingang van deze sleutel. |
CRegKey::QueryBinaryValue |
Roep deze methode aan om de binaire gegevens voor een opgegeven waardenaam op te halen. |
CRegKey::QueryDWORDValue |
Roep deze methode aan om de DWORD gegevens voor een opgegeven waardenaam op te halen. |
CRegKey::QueryGUIDValue |
Roep deze methode aan om de GUID-gegevens voor een opgegeven waardenaam op te halen. |
CRegKey::QueryMultiStringValue |
Roep deze methode aan om de gegevens met meerdere tekenreeksen op te halen voor een opgegeven waardenaam. |
CRegKey::QueryQWORDValue |
Roep deze methode aan om de QWORD gegevens voor een opgegeven waardenaam op te halen. |
CRegKey::QueryStringValue |
Roep deze methode aan om de tekenreeksgegevens voor een opgegeven waardenaam op te halen. |
CRegKey::QueryValue |
Roep deze methode aan om de gegevens op te halen voor het opgegeven waardeveld van m_hKey. Eerdere versies van deze methode worden niet meer ondersteund en zijn gemarkeerd als ATL_DEPRECATED. |
CRegKey::RecurseDeleteKey |
Roep deze methode aan om de opgegeven sleutel uit het register te verwijderen en expliciet subsleutels te verwijderen. |
CRegKey::SetBinaryValue |
Roep deze methode aan om de binaire waarde van de registersleutel in te stellen. |
CRegKey::SetDWORDValue |
Roep deze methode aan om de DWORD waarde van de registersleutel in te stellen. |
CRegKey::SetGUIDValue |
Roep deze methode aan om de GUID-waarde van de registersleutel in te stellen. |
CRegKey::SetKeySecurity |
Roep deze methode aan om de beveiliging van de registersleutel in te stellen. |
CRegKey::SetKeyValue |
Roep deze methode aan om gegevens op te slaan in een opgegeven waardeveld van een opgegeven sleutel. |
CRegKey::SetMultiStringValue |
Roep deze methode aan om de multistringwaarde van de registersleutel in te stellen. |
CRegKey::SetQWORDValue |
Roep deze methode aan om de QWORD waarde van de registersleutel in te stellen. |
CRegKey::SetStringValue |
Roep deze methode aan om de tekenreekswaarde van de registersleutel in te stellen. |
CRegKey::SetValue |
Roep deze methode aan om gegevens op te slaan in het opgegeven waardeveld van m_hKey. Eerdere versies van deze methode worden niet meer ondersteund en zijn gemarkeerd als ATL_DEPRECATED. |
Openbare operators
| Naam | Description |
|---|---|
CRegKey::operator HKEY |
Converteert een CRegKey object naar een HKEY. |
CRegKey::operator = |
Toewijzingsoperator. |
Publieke dataleden
| Naam | Description |
|---|---|
CRegKey::m_hKey |
Bevat een ingang van de registersleutel die aan het CRegKey object is gekoppeld. |
CRegKey::m_pTM |
Aanwijzer naar CAtlTransactionManager object |
Opmerkingen
CRegKey biedt methoden voor het maken en verwijderen van sleutels en waarden in het systeemregister. Het register bevat een installatiespecifieke set definities voor systeemonderdelen, zoals softwareversienummers, logische naar fysieke toewijzingen van geïnstalleerde hardware en COM-objecten.
CRegKey biedt een programmeerinterface voor het systeemregister voor een bepaalde computer. Als u bijvoorbeeld een bepaalde registersleutel wilt openen, roept u CRegKey::Openaan. Een gegevenswaarde, aanroep CRegKey::QueryValue of , respectievelijk, ophalen of CRegKey::SetValuewijzigen. Als u een sleutel wilt sluiten, roept u CRegKey::Closeaan.
Wanneer u een sleutel sluit, worden de registergegevens naar de harde schijf geschreven (leeggemaakt). Dit proces kan enkele seconden duren. Als uw toepassing registergegevens expliciet naar de harde schijf moet schrijven, kunt u de RegFlushKey Win32-functie aanroepen.
RegFlushKey Maakt echter gebruik van veel systeembronnen en moet alleen worden aangeroepen wanneer dit absoluut noodzakelijk is.
Belangrijk
Methoden waarmee de aanroeper een registerlocatie kan opgeven, kunnen gegevens lezen die niet kunnen worden vertrouwd. Bij methoden die gebruikmaken van RegQueryValueEx deze functie moet rekening worden gehouden met het feit dat deze functie niet expliciet tekenreeksen verwerkt die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
Requirements
Rubriek:atlbase.h
CRegKey::Attach
Roep deze methode aan om een HKEY aan het CRegKey object toe te voegen door de m_hKey lidgreep in te stellen op hKey.
void Attach(HKEY hKey) throw();
Parameterwaarden
hKey
De ingang van een registersleutel.
Opmerkingen
Attach zal bevestigen als m_hKey dat niet hetNULL is.
CRegKey::Close
Roep deze methode aan om de m_hKey lidhandgreep vrij te geven en in te stellen op NULL.
LONG Close() throw();
Retourwaarde
Als dit lukt, wordt de foutwaarde geretourneerd ERROR_SUCCESS. Anders wordt een foutwaarde geretourneerd.
CRegKey::Create
Roep deze methode aan om de opgegeven sleutel te maken, als deze niet bestaat als een subsleutel van hKeyParent.
LONG Create(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
LPTSTR lpszClass = REG_NONE,
DWORD dwOptions = REG_OPTION_NON_VOLATILE,
REGSAM samDesired = KEY_READ | KEY_WRITE,
LPSECURITY_ATTRIBUTES lpSecAttr = NULL,
LPDWORD lpdwDisposition = NULL) throw();
Parameterwaarden
hKeyParent
De greep van een open sleutel.
lpszKeyName
Hiermee geeft u de naam van een sleutel die moet worden gemaakt of geopend. Deze naam moet een subsleutel van hKeyParent.
lpszClass
Hiermee geeft u de klasse van de sleutel die moet worden gemaakt of geopend. De standaardwaarde is REG_NONE.
dwOptions
Opties voor de sleutel. De standaardwaarde is REG_OPTION_NON_VOLATILE. Zie de Windows SDK voor een lijst met mogelijke waarden en beschrijvingen RegCreateKeyEx .
samDesired
De beveiligingstoegang voor de sleutel. De standaardwaarde is KEY_READ | KEY_WRITE. Zie voor een lijst met mogelijke waarden en beschrijvingen RegCreateKeyEx.
lpSecAttr
Een aanwijzer naar een SECURITY_ATTRIBUTES structuur die aangeeft of de ingang van de sleutel kan worden overgenomen door een onderliggend proces. Deze parameter is NULL standaard (wat betekent dat de handle niet kan worden overgenomen).
lpdwDisposition
[uit] Als dit nietNULL het geval is, wordt een van REG_CREATED_NEW_KEY beide opgehaald (als de sleutel niet bestond en is gemaakt) of REG_OPENED_EXISTING_KEY (als de sleutel bestond en is geopend).
Retourwaarde
Als dit lukt, wordt de sleutel geretourneerd ERROR_SUCCESS en geopend. Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Create stelt het m_hKey lid in op de ingang van deze sleutel.
CRegKey::CRegKey
De constructor.
CRegKey() throw();
CRegKey(CRegKey& key) throw();
explicit CRegKey(HKEY hKey) throw();
CRegKey(CAtlTransactionManager* pTM) throw();
Parameterwaarden
key
Een verwijzing naar een CRegKey object.
hKey
Een ingang naar een registersleutel.
pTM
Aanwijzer naar CAtlTransactionManager object
Opmerkingen
Hiermee maakt u een nieuw CRegKey object. Het object kan worden gemaakt van een bestaand CRegKey object of van een ingang naar een registersleutel.
CRegKey::~CRegKey
De destructor.
~CRegKey() throw();
Opmerkingen
De destructor releases m_hKey.
CRegKey::DeleteSubKey
Roep deze methode aan om de opgegeven sleutel uit het register te verwijderen.
LONG DeleteSubKey(LPCTSTR lpszSubKey) throw();
Parameterwaarden
lpszSubKey
Hiermee geeft u de naam van de sleutel die moet worden verwijderd. Deze naam moet een subsleutel van m_hKey.
Retourwaarde
Als dit lukt, wordt het resultaat geretourneerd ERROR_SUCCESS. Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
DeleteSubKey kan alleen een sleutel met geen subsleutels verwijderen. Als de sleutel subsleutels heeft, roept RecurseDeleteKey u in plaats daarvan aan.
CRegKey::DeleteValue
Roep deze methode aan om een waardeveld uit m_hKeyte verwijderen.
LONG DeleteValue(LPCTSTR lpszValue) throw();
Parameterwaarden
lpszValue
Hiermee geeft u het waardeveld dat moet worden verwijderd.
Retourwaarde
Als dit lukt, wordt het resultaat geretourneerd ERROR_SUCCESS. Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
CRegKey::Detach
Roep deze methode aan om de m_hKey lidgreep los te koppelen van het CRegKey object en in te stellen m_hKey op NULL.
HKEY Detach() throw();
Retourwaarde
De HKEY die aan het CRegKey object is gekoppeld.
CRegKey::EnumKey
Roep deze methode aan om de subsleutels van de geopende registersleutel op te sommen.
LONG EnumKey(
DWORD iIndex,
LPTSTR pszName,
LPDWORD pnNameLength,
FILETIME* pftLastWriteTime = NULL) throw();
Parameterwaarden
iIndex
De subsleutelindex. Deze parameter moet nul zijn voor de eerste aanroep en vervolgens verhoogd voor volgende aanroepen
pszName
Wijs een buffer aan die de naam van de subsleutel ontvangt, inclusief het null-teken dat wordt beëindigd. Alleen de naam van de subsleutel wordt gekopieerd naar de buffer, niet naar de volledige sleutelhiërarchie.
pnNameLength
Wijs een variabele aan die de grootte aangeeft van TCHARsde buffer die is opgegeven door de pszName parameter. Deze grootte moet het eind-null-teken bevatten. Wanneer de methode retourneert, bevat de variabele waarop wordt verwezen pnNameLength het aantal tekens dat in de buffer is opgeslagen. Het geretourneerde aantal bevat niet het null-teken dat wordt beëindigd.
pftLastWriteTime
Wijs een variabele aan die de tijd ontvangt waarop de opgesomde subsleutel voor het laatst is geschreven.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Als u de subsleutels wilt inventariseren, roept CRegKey::EnumKey u aan met een index van nul. Verhoog de indexwaarde en herhaal deze totdat de methode retourneert ERROR_NO_MORE_ITEMS. Zie de Windows SDK voor meer informatie RegEnumKeyEx .
CRegKey::Flush
Roep deze methode aan om alle kenmerken van de open registersleutel naar het register te schrijven.
LONG Flush() throw();
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Zie de Windows SDK voor meer informatie RegEnumFlush .
CRegKey::GetKeySecurity
Roep deze methode aan om een kopie van de beveiligingsdescriptor op te halen die de open registersleutel beveiligt.
LONG GetKeySecurity(
SECURITY_INFORMATION si,
PSECURITY_DESCRIPTOR psd,
LPDWORD pnBytes) throw();
Parameterwaarden
si
De SECURITY_INFORMATION waarde die de aangevraagde beveiligingsgegevens aangeeft.
psd
Een aanwijzer naar een buffer die een kopie van de aangevraagde beveiligingsdescriptor ontvangt.
pnBytes
De grootte, in bytes, van de buffer die door psd.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode gedefinieerd in WINERROR.H.
Opmerkingen
Zie RegGetKeySecurity voor meer informatie.
CRegKey::m_hKey
Bevat een ingang van de registersleutel die aan het CRegKey object is gekoppeld.
HKEY m_hKey;
CRegKey::m_pTM
Aanwijzer naar een CAtlTransactionManager-object.
CAtlTransactionManager* m_pTM;
Opmerkingen
CRegKey::NotifyChangeKeyValue
Met deze methode wordt de aanroeper gewaarschuwd over wijzigingen in de kenmerken of inhoud van de geopende registersleutel.
LONG NotifyChangeKeyValue(
BOOL bWatchSubtree,
DWORD dwNotifyFilter,
HANDLE hEvent,
BOOL bAsync = TRUE) throw();
Parameterwaarden
bWatchSubtree
Hiermee geeft u een vlag op die aangeeft of wijzigingen in de opgegeven sleutel en alle subsleutels moeten worden vermeld of alleen in de opgegeven sleutel. Als deze parameter is TRUE, rapporteert de methode wijzigingen in de sleutel en de bijbehorende subsleutels. Als de parameter is FALSE, rapporteert de methode alleen wijzigingen in de sleutel.
dwNotifyFilter
Hiermee geeft u een set vlaggen op waarmee wordt bepaald welke wijzigingen moeten worden gerapporteerd. Deze parameter kan een combinatie van de volgende waarden zijn:
| Waarde | Meaning |
|---|---|
REG_NOTIFY_CHANGE_NAME |
Informeer de beller als er een subsleutel wordt toegevoegd of verwijderd. |
REG_NOTIFY_CHANGE_ATTRIBUTES |
Informeer de aanroeper over wijzigingen in de kenmerken van de sleutel, zoals de beveiligingsdescriptorgegevens. |
REG_NOTIFY_CHANGE_LAST_SET |
De aanroeper op de hoogte stellen van wijzigingen in een waarde van de sleutel. Dit kan bestaan uit het toevoegen of verwijderen van een waarde of het wijzigen van een bestaande waarde. |
REG_NOTIFY_CHANGE_SECURITY |
Informeer de aanroeper over wijzigingen in de beveiligingsdescriptor van de sleutel. |
hEvent
Verwerken naar een gebeurtenis. Als de bAsync parameter is TRUE, retourneert de methode onmiddellijk en worden wijzigingen gerapporteerd door deze gebeurtenis aan te geven. Als bAsync dat het is FALSE, hEvent wordt genegeerd.
bAsync
Hiermee geeft u een vlag op die aangeeft hoe de methode wijzigingen rapporteert. Als deze parameter is TRUE, retourneert de methode onmiddellijk en rapporteert de wijzigingen door de opgegeven gebeurtenis aan te geven. Wanneer deze parameter is FALSE, wordt de methode pas geretourneerd als er een wijziging is opgetreden. Als hEvent er geen geldige gebeurtenis wordt opgegeven, kan de bAsync parameter dat niet zijn TRUE.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Opmerking
Met deze methode wordt de aanroeper niet op de hoogte gesteld als de opgegeven sleutel wordt verwijderd.
Zie RegNotifyChangeKeyValuevoor meer informatie en een voorbeeldprogramma.
CRegKey::Open
Roep deze methode aan om de opgegeven sleutel te openen en in te stellen m_hKey op de ingang van deze sleutel.
LONG Open(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
REGSAM samDesired = KEY_READ | KEY_WRITE) throw();
Parameterwaarden
hKeyParent
De greep van een open sleutel.
lpszKeyName
Hiermee geeft u de naam van een sleutel die moet worden gemaakt of geopend. Deze naam moet een subsleutel van hKeyParent.
samDesired
De beveiligingstoegang voor de sleutel. De standaardwaarde is KEY_ALL_ACCESS. Zie de Windows SDK voor een lijst met mogelijke waarden en beschrijvingen RegCreateKeyEx .
Retourwaarde
Als dit lukt, wordt geretourneerd ERROR_SUCCESS; anders wordt een niet-nul-foutwaarde gedefinieerd in WINERROR.H.
Opmerkingen
Als de lpszKeyName parameter een lege tekenreeks is NULL of verwijst, Open opent u een nieuwe ingang van de sleutel die is geïdentificeerd door hKeyParent, maar sluit geen eerder geopende ingang.
In tegenstelling tot CRegKey::Create, Open wordt de opgegeven sleutel niet gemaakt als deze niet bestaat.
CRegKey::operator HKEY
Converteert een CRegKey object naar een HKEY.
operator HKEY() const throw();
CRegKey::operator =
Toewijzingsoperator.
CRegKey& operator= (CRegKey& key) throw();
Parameterwaarden
key
De sleutel die moet worden gekopieerd.
Retourwaarde
Retourneert een verwijzing naar de nieuwe sleutel.
Opmerkingen
Deze operator loskoppelt key van het huidige object en wijst dit toe aan het CRegKey object.
CRegKey::QueryBinaryValue
Roep deze methode aan om de binaire gegevens voor een opgegeven waardenaam op te halen.
LONG QueryBinaryValue(
LPCTSTR pszValueName,
void* pValue,
ULONG* pnBytes) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
pValue
Wijs een buffer aan die de gegevens van de waarde ontvangt.
pnBytes
Wijs een variabele aan die de grootte, in bytes, van de buffer aanwijst waarnaar de pValue parameter verwijst. Wanneer de methode wordt geretourneerd, bevat deze variabele de grootte van de gegevens die naar de buffer zijn gekopieerd.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen niet van het type REG_BINARYzijn, ERROR_INVALID_DATA worden geretourneerd.
Opmerkingen
Deze methode maakt gebruik van RegQueryValueEx en bevestigt dat het juiste type gegevens wordt geretourneerd. Zie RegQueryValueEx voor meer informatie.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::QueryDWORDValue
Roep deze methode aan om de DWORD gegevens voor een opgegeven waardenaam op te halen.
LONG QueryDWORDValue(
LPCTSTR pszValueName,
DWORD& dwValue) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
dwValue
Wijs een buffer aan die de DWORD.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen niet van het type REG_DWORDzijn, ERROR_INVALID_DATA worden geretourneerd.
Opmerkingen
Deze methode maakt gebruik van RegQueryValueEx en bevestigt dat het juiste type gegevens wordt geretourneerd. Zie RegQueryValueEx voor meer informatie.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::QueryGUIDValue
Roep deze methode aan om de GUID-gegevens voor een opgegeven waardenaam op te halen.
LONG QueryGUIDValue(
LPCTSTR pszValueName,
GUID& guidValue) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
guidValue
Wijs een variabele aan die de GUID ontvangt.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen geen geldige GUID zijn, ERROR_INVALID_DATA worden geretourneerd.
Opmerkingen
Deze methode maakt gebruik van CRegKey::QueryStringValue en converteert de tekenreeks naar een GUID met behulp van CLSIDFromString.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd.
CRegKey::QueryMultiStringValue
Roep deze methode aan om de gegevens met meerdere tekenreeksen op te halen voor een opgegeven waardenaam.
LONG QueryMultiStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
pszValue
Wijs een buffer aan die de multistring-gegevens ontvangt. Een multistring is een matrix van NULL-beëindigde tekenreeksen, beëindigd door twee null-tekens.
pnChars
De grootte, in TCHARs, van de buffer die door pszValue. Wanneer de methode retourneert, pnChars bevat de grootte, in TCHARs, van de opgehaalde multistring, inclusief een afsluit null-teken.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen niet van het type REG_MULTI_SZzijn, ERROR_INVALID_DATA worden geretourneerd.
Opmerkingen
Deze methode maakt gebruik van RegQueryValueEx en bevestigt dat het juiste type gegevens wordt geretourneerd. Zie RegQueryValueEx voor meer informatie.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::QueryQWORDValue
Roep deze methode aan om de QWORD gegevens voor een opgegeven waardenaam op te halen.
LONG QueryQWORDValue(
LPCTSTR pszValueName,
ULONGLONG& qwValue) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
qwValue
Wijs een buffer aan die de QWORD.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen niet van het type REG_QWORDzijn, ERROR_INVALID_DATA worden geretourneerd.
Opmerkingen
Deze methode maakt gebruik van RegQueryValueEx en bevestigt dat het juiste type gegevens wordt geretourneerd. Zie RegQueryValueEx voor meer informatie.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::QueryStringValue
Roep deze methode aan om de tekenreeksgegevens voor een opgegeven waardenaam op te halen.
LONG QueryStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd.
pszValue
Wijs een buffer aan die de tekenreeksgegevens ontvangt.
pnChars
De grootte, in TCHAR's, van de buffer die door pszValue. Wanneer de methode retourneert, pnChars bevat deze de grootte, in TCHARs, van de tekenreeks die is opgehaald, inclusief een afsluit null-teken.
Retourwaarde
Als de methode slaagt, ERROR_SUCCESS wordt deze geretourneerd. Als de methode een waarde niet kan lezen, retourneert deze een niet-nulfoutcode die is gedefinieerd in WINERROR.H. Als de gegevens waarnaar wordt verwezen niet van het type REG_SZzijn, ERROR_INVALID_DATA worden geretourneerd. Als de methode retourneert ERROR_MORE_DATA, pnChars is deze gelijk aan nul, niet de vereiste buffergrootte in bytes.
Opmerkingen
Deze methode maakt gebruik van RegQueryValueEx en bevestigt dat het juiste type gegevens wordt geretourneerd. Zie RegQueryValueEx voor meer informatie.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::QueryValue
Roep deze methode aan om de gegevens op te halen voor het opgegeven waardeveld van m_hKey. Eerdere versies van deze methode worden niet meer ondersteund en zijn gemarkeerd als ATL_DEPRECATED.
LONG QueryValue(
LPCTSTR pszValueName,
DWORD* pdwType,
void* pData,
ULONG* pnBytes) throw();
ATL_DEPRECATED LONG QueryValue(
DWORD& dwValue,
LPCTSTR lpszValueName);
ATL_DEPRECATED LONG QueryValue(
LPTSTR szValue,
LPCTSTR lpszValueName,
DWORD* pdwCount);
Parameterwaarden
pszValueName
Aanwijzer naar een NULL-beëindigde tekenreeks met de naam van de waarde die moet worden opgevraagd. Als pszValueName dit een of een lege tekenreeks is NULL , ""haalt de methode het type en de gegevens op voor de niet-benoemde of standaardwaarde van de sleutel, indien van toepassing.
pdwType
Wijs een variabele aan die een code ontvangt die het type gegevens aangeeft dat is opgeslagen in de opgegeven waarde. De pdwType parameter kan zijn NULL als de typecode niet vereist is.
pData
Wijs een buffer aan die de gegevens van de waarde ontvangt. Deze parameter kan zijn NULL als de gegevens niet vereist zijn.
pnBytes
Wijs een variabele aan die de grootte, in bytes, van de buffer aanwijst waarnaar de pData parameter verwijst. Wanneer de methode wordt geretourneerd, bevat deze variabele de grootte van de gekopieerde pDatagegevens.
dwValue
De numerieke gegevens van het waardeveld.
lpszValueName
Hiermee geeft u het waardeveld dat moet worden opgevraagd.
szValue
De tekenreeksgegevens van het waardeveld.
pdwCount
De grootte van de tekenreeksgegevens. De waarde wordt in eerste instantie ingesteld op de grootte van de szValue buffer.
Retourwaarde
Als dit lukt, retourneert ERROR_SUCCESS; anders wordt er een niet-nulfoutcode gedefinieerd in WINERROR.H.
Opmerkingen
De twee oorspronkelijke versies van QueryValue worden niet meer ondersteund en zijn gemarkeerd als ATL_DEPRECATED. De compiler geeft een waarschuwing als deze formulieren worden gebruikt.
De resterende methode roept aan RegQueryValueEx.
Belangrijk
Met deze methode kan de aanroeper een registerlocatie opgeven, mogelijk gegevens lezen die niet kunnen worden vertrouwd. De functie die door deze methode wordt gebruikt, RegQueryValueEx verwerkt ook niet expliciet tekenreeksen die null-beëindigd zijn. Beide voorwaarden moeten worden gecontroleerd door de aanroepende code.
CRegKey::RecurseDeleteKey
Roep deze methode aan om de opgegeven sleutel uit het register te verwijderen en expliciet subsleutels te verwijderen.
LONG RecurseDeleteKey(LPCTSTR lpszKey) throw();
Parameterwaarden
lpszKey
Hiermee geeft u de naam van de sleutel die moet worden verwijderd. Deze naam moet een subsleutel van m_hKey.
Retourwaarde
Als dit lukt, wordt geretourneerd ERROR_SUCCESS; anders wordt een niet-nul-foutwaarde gedefinieerd in WINERROR.H.
Opmerkingen
Als de sleutel subsleutels heeft, moet u deze methode aanroepen om de sleutel te verwijderen.
CRegKey::SetBinaryValue
Roep deze methode aan om de binaire waarde van de registersleutel in te stellen.
LONG SetBinaryValue(
LPCTSTR pszValueName,
const void* pValue,
ULONG nBytes) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
pValue
Wijs een buffer aan die de gegevens bevat die moeten worden opgeslagen met de opgegeven waardenaam.
nBytes
Hiermee geeft u de grootte, in bytes, van de informatie die wordt verwezen door de pValue parameter.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode gebruikt RegSetValueEx om de waarde naar het register te schrijven.
CRegKey::SetDWORDValue
Roep deze methode aan om de DWORD waarde van de registersleutel in te stellen.
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
dwValue
De DWORD gegevens die moeten worden opgeslagen met de opgegeven waardenaam.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode gebruikt RegSetValueEx om de waarde naar het register te schrijven.
CRegKey::SetGUIDValue
Roep deze methode aan om de GUID-waarde van de registersleutel in te stellen.
LONG SetGUIDValue(LPCTSTR pszValueName, REFGUID guidValue) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
guidValue
Verwijzing naar de GUID die moet worden opgeslagen met de opgegeven waardenaam.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode maakt gebruik van CRegKey::SetStringValue en converteert de GUID naar een tekenreeks met behulp van StringFromGUID2.
CRegKey::SetKeyValue
Roep deze methode aan om gegevens op te slaan in een opgegeven waardeveld van een opgegeven sleutel.
LONG SetKeyValue(
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL) throw();
Parameterwaarden
lpszKeyName
Hiermee geeft u de naam van de sleutel die moet worden gemaakt of geopend. Deze naam moet een subsleutel van m_hKey.
lpszValue
Hiermee geeft u de gegevens op die moeten worden opgeslagen. Deze parameter moet niet zijnNULL.
lpszValueName
Hiermee geeft u het waardeveld dat moet worden ingesteld. Als er nog geen waardeveld met deze naam in de sleutel bestaat, wordt het toegevoegd.
Retourwaarde
Als dit lukt, retourneert ERROR_SUCCESS; anders wordt er een niet-nulfoutcode gedefinieerd in WINERROR.H.
Opmerkingen
Roep deze methode aan om de lpszKeyName sleutel te maken of te openen en de lpszValue gegevens op te slaan in het lpszValueName waardeveld.
CRegKey::SetKeySecurity
Roep deze methode aan om de beveiliging van de registersleutel in te stellen.
LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw();
Parameterwaarden
si
Hiermee geeft u de onderdelen van de beveiligingsdescriptor die moet worden ingesteld. De waarde kan een combinatie van de volgende waarden zijn:
| Waarde | Meaning |
|---|---|
DACL_SECURITY_INFORMATION |
Hiermee stelt u de discretionaire toegangsbeheerlijst (DACL) van de sleutel in. De sleutel moet toegang hebben WRITE_DAC of het aanroepende proces moet de eigenaar van het object zijn. |
GROUP_SECURITY_INFORMATION |
Hiermee stelt u de primaire groepsbeveiligings-id (SID) van de sleutel in. De sleutel moet toegang hebben WRITE_OWNER of het aanroepende proces moet de eigenaar van het object zijn. |
OWNER_SECURITY_INFORMATION |
Hiermee stelt u de eigenaar-SID van de sleutel in. De sleutel moet toegang hebben WRITE_OWNER of het aanroepende proces moet de eigenaar van het object zijn of de SE_TAKE_OWNERSHIP_NAME bevoegdheid hebben ingeschakeld. |
SACL_SECURITY_INFORMATION |
Hiermee stelt u de systeemtoegangsbeheerlijst (SACL) van de sleutel in. De sleutel moet toegang hebben ACCESS_SYSTEM_SECURITY . De juiste manier om deze toegang te krijgen, is door de SE_SECURITY_NAMEbevoegdheid in te schakelen in het huidige toegangstoken van de beller, de ingang voor ACCESS_SYSTEM_SECURITY toegang te openen en vervolgens de bevoegdheid uit te schakelen. |
psd
Wijs een SECURITY_DESCRIPTOR structuur aan waarmee de beveiligingskenmerken worden opgegeven die voor de opgegeven sleutel moeten worden ingesteld.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Hiermee stelt u de beveiligingskenmerken van de sleutel in. Zie RegSetKeySecurity voor meer informatie.
CRegKey::SetMultiStringValue
Roep deze methode aan om de multistringwaarde van de registersleutel in te stellen.
LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
pszValue
Wijs de multistringgegevens aan die moeten worden opgeslagen met de opgegeven waardenaam. Een multistring is een matrix van NULL-beëindigde tekenreeksen, beëindigd door twee null-tekens.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode gebruikt RegSetValueEx om de waarde naar het register te schrijven.
CRegKey::SetQWORDValue
Roep deze methode aan om de QWORD waarde van de registersleutel in te stellen.
LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
qwValue
De QWORD gegevens die moeten worden opgeslagen met de opgegeven waardenaam.
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode gebruikt RegSetValueEx om de waarde naar het register te schrijven.
CRegKey::SetStringValue
Roep deze methode aan om de tekenreekswaarde van de registersleutel in te stellen.
LONG SetStringValue(
LPCTSTR pszValueName,
LPCTSTR pszValue,
DWORD dwType = REG_SZ) throw();
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is, voegt de methode deze toe aan de sleutel.
pszValue
Wijs de tekenreeksgegevens aan die moeten worden opgeslagen met de opgegeven waardenaam.
dwType
Het type tekenreeks dat naar het register moet worden geschreven: REG_SZ (de standaardinstelling) of REG_EXPAND_SZ (voor multistrings).
Retourwaarde
Als de methode slaagt, is ERROR_SUCCESSde retourwaarde . Als de methode mislukt, is de retourwaarde een niet-nulfoutcode die is gedefinieerd in WINERROR.H.
Opmerkingen
Deze methode gebruikt RegSetValueEx om de waarde naar het register te schrijven.
CRegKey::SetValue
Roep deze methode aan om gegevens op te slaan in het opgegeven waardeveld van m_hKey. Eerdere versies van deze methode worden niet meer ondersteund en zijn gemarkeerd als ATL_DEPRECATED.
LONG SetValue(
LPCTSTR pszValueName,
DWORD dwType,
const void* pValue,
ULONG nBytes) throw();
static LONG WINAPI SetValue(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL);
ATL_DEPRECATED LONG SetValue(
DWORD dwValue,
LPCTSTR lpszValueName);
ATL_DEPRECATED LONG SetValue(
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL,
bool bMulti = false,
int nValueLen = -1);
Parameterwaarden
pszValueName
Wijs een tekenreeks aan met de naam van de waarde die moet worden ingesteld. Als een waarde met deze naam nog niet aanwezig is in de sleutel, voegt de methode deze toe aan de sleutel. Als pszValueName dit een lege tekenreeks is NULL , ""stelt de methode het type en de gegevens in voor de niet-benoemde of standaardwaarde van de sleutel.
dwType
Hiermee geeft u een code die het type gegevens aangeeft dat door de pValue parameter wordt verwezen.
pValue
Wijs een buffer aan die de gegevens bevat die moeten worden opgeslagen met de opgegeven waardenaam.
nBytes
Hiermee geeft u de grootte, in bytes, van de informatie die wordt verwezen door de pValue parameter. Als de gegevens van het type REG_SZ, REG_EXPAND_SZof REG_MULTI_SZ, nBytes moeten de grootte van het eind-null-teken bevatten.
hKeyParent
De greep van een open sleutel.
lpszKeyName
Hiermee geeft u de naam van een sleutel die moet worden gemaakt of geopend. Deze naam moet een subsleutel van hKeyParent.
lpszValue
Hiermee geeft u de gegevens op die moeten worden opgeslagen. Deze parameter moet niet zijnNULL.
lpszValueName
Hiermee geeft u het waardeveld dat moet worden ingesteld. Als er nog geen waardeveld met deze naam in de sleutel bestaat, wordt het toegevoegd.
dwValue
Hiermee geeft u de gegevens op die moeten worden opgeslagen.
bMulti
Als dit onwaar is, geeft u aan dat de tekenreeks van het type REG_SZis. Als waar, geeft u aan dat de tekenreeks een multistring van het type REG_MULTI_SZis.
nValueLen
Als bMulti waar is, nValueLen is de lengte van de lpszValue tekenreeks in tekens. Als bMulti dit onwaar is, geeft een waarde van -1 aan dat de methode automatisch de lengte berekent.
Retourwaarde
Als dit lukt, retourneert ERROR_SUCCESS; anders wordt er een niet-nulfoutcode gedefinieerd in WINERROR.H.
Opmerkingen
De twee oorspronkelijke versies zijn SetValue gemarkeerd als ATL_DEPRECATED en mogen niet meer worden gebruikt. De compiler geeft een waarschuwing als deze formulieren worden gebruikt.
Met de derde methode wordt aangeroepen RegSetValueEx.