La classe CRegKey
Cette classe fournit des méthodes pour manipuler des entrées dans le registre système.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CRegKey
Membres
Constructeurs publics
Nom | Description |
---|---|
CRegKey::CRegKey |
Constructeur . |
CRegKey::~CRegKey |
Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CRegKey::Attach |
Appelez cette méthode pour attacher une clé HKEY à l’objet CRegKey en définissant le handle de membre sur m_hKey hKey . |
CRegKey::Close |
Appelez cette méthode pour libérer le m_hKey handle de membre et le définir sur NULL . |
CRegKey::Create |
Appelez cette méthode pour créer la clé spécifiée, si elle n’existe pas en tant que sous-clé de hKeyParent . |
CRegKey::DeleteSubKey |
Appelez cette méthode pour supprimer la clé spécifiée du Registre. |
CRegKey::DeleteValue |
Appelez cette méthode pour supprimer un champ valeur de m_hKey . |
CRegKey::Detach |
Appelez cette méthode pour détacher le m_hKey handle membre de l’objet CRegKey et définir m_hKey sur NULL . |
CRegKey::EnumKey |
Appelez cette méthode pour énumérer les sous-clés de la clé de Registre ouverte. |
CRegKey::Flush |
Appelez cette méthode pour écrire tous les attributs de la clé de Registre ouverte dans le Registre. |
CRegKey::GetKeySecurity |
Appelez cette méthode pour récupérer une copie du descripteur de sécurité protégeant la clé de Registre ouverte. |
CRegKey::NotifyChangeKeyValue |
Cette méthode informe l’appelant des modifications apportées aux attributs ou au contenu de la clé de Registre ouverte. |
CRegKey::Open |
Appelez cette méthode pour ouvrir la clé spécifiée et définir m_hKey sur le handle de cette clé. |
CRegKey::QueryBinaryValue |
Appelez cette méthode pour récupérer les données binaires d’un nom de valeur spécifié. |
CRegKey::QueryDWORDValue |
Appelez cette méthode pour récupérer les DWORD données d’un nom de valeur spécifié. |
CRegKey::QueryGUIDValue |
Appelez cette méthode pour récupérer les données GUID d’un nom de valeur spécifié. |
CRegKey::QueryMultiStringValue |
Appelez cette méthode pour récupérer les données multistring pour un nom de valeur spécifié. |
CRegKey::QueryQWORDValue |
Appelez cette méthode pour récupérer les QWORD données d’un nom de valeur spécifié. |
CRegKey::QueryStringValue |
Appelez cette méthode pour récupérer les données de chaîne d’un nom de valeur spécifié. |
CRegKey::QueryValue |
Appelez cette méthode pour récupérer les données du champ de valeur spécifié de m_hKey . Les versions antérieures de cette méthode ne sont plus prises en charge et sont marquées comme ATL_DEPRECATED . |
CRegKey::RecurseDeleteKey |
Appelez cette méthode pour supprimer la clé spécifiée du Registre et supprimer explicitement toutes les sous-clés. |
CRegKey::SetBinaryValue |
Appelez cette méthode pour définir la valeur binaire de la clé de Registre. |
CRegKey::SetDWORDValue |
Appelez cette méthode pour définir la DWORD valeur de la clé de Registre. |
CRegKey::SetGUIDValue |
Appelez cette méthode pour définir la valeur GUID de la clé de Registre. |
CRegKey::SetKeySecurity |
Appelez cette méthode pour définir la sécurité de la clé de Registre. |
CRegKey::SetKeyValue |
Appelez cette méthode pour stocker des données dans un champ de valeur spécifié d’une clé spécifiée. |
CRegKey::SetMultiStringValue |
Appelez cette méthode pour définir la valeur multistring de la clé de Registre. |
CRegKey::SetQWORDValue |
Appelez cette méthode pour définir la QWORD valeur de la clé de Registre. |
CRegKey::SetStringValue |
Appelez cette méthode pour définir la valeur de chaîne de la clé de Registre. |
CRegKey::SetValue |
Appelez cette méthode pour stocker des données dans le champ de valeur spécifié de m_hKey . Les versions antérieures de cette méthode ne sont plus prises en charge et sont marquées comme ATL_DEPRECATED . |
Opérateurs publics
Nom | Description |
---|---|
CRegKey::operator HKEY |
Convertit un CRegKey objet en HKEY un . |
CRegKey::operator = |
Opérateur d'assignation. |
Membres de données publics
Nom | Description |
---|---|
CRegKey::m_hKey |
Contient un handle de la clé de Registre associée à l’objet CRegKey . |
CRegKey::m_pTM |
Pointeur vers l’objet CAtlTransactionManager |
Notes
CRegKey
fournit des méthodes pour créer et supprimer des clés et des valeurs dans le Registre système. Le Registre contient un ensemble spécifique à l’installation de définitions pour les composants système, tels que les numéros de version logicielle, les mappages logiques à physiques du matériel installé et les objets COM.
CRegKey
fournit une interface de programmation au registre système d’un ordinateur donné. Par exemple, pour ouvrir une clé de Registre particulière, appelez CRegKey::Open
. Pour récupérer ou modifier une valeur de données, appelez CRegKey::QueryValue
ou CRegKey::SetValue
, respectivement. Pour fermer une clé, appelez CRegKey::Close
.
Lorsque vous fermez une clé, ses données de Registre sont écrites (vidées) sur le disque dur. Ce processus peut prendre plusieurs secondes. Si votre application doit écrire explicitement des données de Registre sur le disque dur, vous pouvez appeler la RegFlushKey
fonction Win32. Toutefois, RegFlushKey
utilise de nombreuses ressources système et doit être appelée uniquement si nécessaire.
Important
Toutes les méthodes qui permettent à l’appelant de spécifier un emplacement de Registre peuvent lire les données qui ne peuvent pas être approuvées. Les méthodes qui utilisent RegQueryValueEx
doivent tenir compte du fait que cette fonction ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
Spécifications
En-tête : atlbase.h
CRegKey::Attach
Appelez cette méthode pour attacher un objet en CRegKey
définissant le m_hKey
handle de membre sur hKey
.HKEY
void Attach(HKEY hKey) throw();
Paramètres
hKey
Handle d’une clé de Registre.
Notes
Attach
affirme si m_hKey
ce n’est pas leNULL
cas.
CRegKey::Close
Appelez cette méthode pour libérer le m_hKey
handle de membre et le définir sur NULL
.
LONG Close() throw();
Valeur de retour
En cas de réussite, retourne ERROR_SUCCESS
; sinon, retourne une valeur d’erreur.
CRegKey::Create
Appelez cette méthode pour créer la clé spécifiée, si elle n’existe pas en tant que sous-clé de 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();
Paramètres
hKeyParent
Handle d’une clé ouverte.
lpszKeyName
Spécifie le nom d’une clé à créer ou ouvrir. Ce nom doit être une sous-clé de hKeyParent
.
lpszClass
Spécifie la classe de la clé à créer ou ouvrir. La valeur par défaut est REG_NONE.
dwOptions
Options de la clé. La valeur par défaut est REG_OPTION_NON_VOLATILE
. Pour obtenir la liste des valeurs et descriptions possibles, consultez RegCreateKeyEx
le Kit de développement logiciel (SDK) Windows.
samDesired
Accès de sécurité pour la clé. La valeur par défaut est KEY_READ | KEY_WRITE
. Pour obtenir la liste des valeurs et descriptions possibles, consultez RegCreateKeyEx
.
lpSecAttr
Pointeur vers une SECURITY_ATTRIBUTES
structure qui indique si le handle de la clé peut être hérité par un processus enfant. Par défaut, ce paramètre est NULL
(ce qui signifie que le handle ne peut pas être hérité).
lpdwDisposition
[out] Si ce n’estNULL
pas le cas, récupère REG_CREATED_NEW_KEY
(si la clé n’existe pas et a été créée) ou REG_OPENED_EXISTING_KEY
(si la clé existait et était ouverte).
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
et ouvre la clé. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Create
définit le m_hKey
membre sur le handle de cette clé.
CRegKey::CRegKey
Constructeur .
CRegKey() throw();
CRegKey(CRegKey& key) throw();
explicit CRegKey(HKEY hKey) throw();
CRegKey(CAtlTransactionManager* pTM) throw();
Paramètres
key
Référence à un objet CRegKey
.
hKey
Handle vers une clé de Registre.
pTM
Pointeur vers l’objet CAtlTransactionManager
Notes
Crée un objet CRegKey
. L’objet peut être créé à partir d’un objet existant CRegKey
ou d’un handle vers une clé de Registre.
CRegKey::~CRegKey
Destructeur.
~CRegKey() throw();
Notes
Le destructeur libère m_hKey
.
CRegKey::DeleteSubKey
Appelez cette méthode pour supprimer la clé spécifiée du Registre.
LONG DeleteSubKey(LPCTSTR lpszSubKey) throw();
Paramètres
lpszSubKey
Spécifie le nom de la clé à supprimer. Ce nom doit être une sous-clé de m_hKey
.
Valeur de retour
En cas de réussite, retourne ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
DeleteSubKey
ne peut supprimer qu’une clé sans sous-clé. Si la clé a des sous-clés, appelez RecurseDeleteKey
à la place.
CRegKey::DeleteValue
Appelez cette méthode pour supprimer un champ valeur de m_hKey
.
LONG DeleteValue(LPCTSTR lpszValue) throw();
Paramètres
lpszValue
Spécifie le champ valeur à supprimer.
Valeur de retour
En cas de réussite, retourne ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
CRegKey::Detach
Appelez cette méthode pour détacher le m_hKey
handle membre de l’objet CRegKey
et définir m_hKey
sur NULL
.
HKEY Detach() throw();
Valeur de retour
HKEY associé à l’objet CRegKey
.
CRegKey::EnumKey
Appelez cette méthode pour énumérer les sous-clés de la clé de Registre ouverte.
LONG EnumKey(
DWORD iIndex,
LPTSTR pszName,
LPDWORD pnNameLength,
FILETIME* pftLastWriteTime = NULL) throw();
Paramètres
iIndex
Index de sous-clé. Ce paramètre doit être égal à zéro pour le premier appel, puis incrémenté pour les appels suivants
pszName
Pointeur vers une mémoire tampon qui reçoit le nom de la sous-clé, y compris le caractère null de fin. Seul le nom de la sous-clé est copié dans la mémoire tampon, et non dans la hiérarchie de clés complète.
pnNameLength
Pointeur vers une variable qui spécifie la taille, en TCHARs
, de la mémoire tampon spécifiée par le pszName
paramètre. Cette taille doit inclure le caractère null de fin. Lorsque la méthode est retournée, la variable pointée par pnNameLength
contient le nombre de caractères stockés dans la mémoire tampon. Le nombre retourné n’inclut pas le caractère null de fin.
pftLastWriteTime
Pointeur vers une variable qui reçoit l’heure à laquelle la sous-clé énumérée a été écrite pour la dernière fois.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Pour énumérer les sous-clés, appelez CRegKey::EnumKey
avec un index de zéro. Incrémentez la valeur d’index et répétez jusqu’à ce que la méthode retourne ERROR_NO_MORE_ITEMS
. Pour plus d’informations, consultez RegEnumKeyEx
le Kit de développement logiciel (SDK) Windows.
CRegKey::Flush
Appelez cette méthode pour écrire tous les attributs de la clé de Registre ouverte dans le Registre.
LONG Flush() throw();
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Pour plus d’informations, consultez RegEnumFlush
le Kit de développement logiciel (SDK) Windows.
CRegKey::GetKeySecurity
Appelez cette méthode pour récupérer une copie du descripteur de sécurité protégeant la clé de Registre ouverte.
LONG GetKeySecurity(
SECURITY_INFORMATION si,
PSECURITY_DESCRIPTOR psd,
LPDWORD pnBytes) throw();
Paramètres
si
Valeur SECURITY_INFORMATION
qui indique les informations de sécurité demandées.
psd
Pointeur vers une mémoire tampon qui reçoit une copie du descripteur de sécurité demandé.
pnBytes
Taille, en octets, de la mémoire tampon pointée par psd
.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Pour plus d’informations, consultez RegGetKeySecurity
.
CRegKey::m_hKey
Contient un handle de la clé de Registre associée à l’objet CRegKey
.
HKEY m_hKey;
CRegKey::m_pTM
Pointeur vers un CAtlTransactionManager
objet.
CAtlTransactionManager* m_pTM;
Notes
CRegKey::NotifyChangeKeyValue
Cette méthode informe l’appelant des modifications apportées aux attributs ou au contenu de la clé de Registre ouverte.
LONG NotifyChangeKeyValue(
BOOL bWatchSubtree,
DWORD dwNotifyFilter,
HANDLE hEvent,
BOOL bAsync = TRUE) throw();
Paramètres
bWatchSubtree
Spécifie un indicateur qui indique s’il faut signaler les modifications dans la clé spécifiée et toutes ses sous-clés ou uniquement dans la clé spécifiée. Si ce paramètre est TRUE
le cas, la méthode signale les modifications apportées à la clé et à ses sous-clés. Si le paramètre est FALSE
, la méthode signale les modifications uniquement dans la clé.
dwNotifyFilter
Spécifie un ensemble d’indicateurs qui contrôlent les modifications à signaler. Ce paramètre peut être une combinaison des valeurs suivantes :
Valeur | Signification |
---|---|
REG_NOTIFY_CHANGE_NAME |
Informez l’appelant si une sous-clé est ajoutée ou supprimée. |
REG_NOTIFY_CHANGE_ATTRIBUTES |
Informez l’appelant des modifications apportées aux attributs de la clé, tels que les informations du descripteur de sécurité. |
REG_NOTIFY_CHANGE_LAST_SET |
Informez l’appelant des modifications apportées à une valeur de la clé. Cela peut inclure l’ajout ou la suppression d’une valeur ou la modification d’une valeur existante. |
REG_NOTIFY_CHANGE_SECURITY |
Informez l’appelant des modifications apportées au descripteur de sécurité de la clé. |
hEvent
Handle vers un événement. Si le bAsync
paramètre est TRUE
, la méthode retourne immédiatement et les modifications sont signalées en signalant cet événement. Si bAsync
c’est FALSE
le cas, hEvent
est ignoré.
bAsync
Spécifie un indicateur qui indique comment la méthode signale les modifications. Si ce paramètre est TRUE
le cas, la méthode retourne immédiatement et signale les modifications en signalant l’événement spécifié. Lorsque ce paramètre est FALSE
, la méthode ne retourne pas tant qu’une modification n’a pas eu lieu. Si hEvent
aucun événement n’est spécifié, le bAsync
paramètre ne peut pas être TRUE
.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Remarque
Cette méthode n’avertit pas l’appelant si la clé spécifiée est supprimée.
Pour plus d’informations et un exemple de programme, consultez RegNotifyChangeKeyValue
.
CRegKey::Open
Appelez cette méthode pour ouvrir la clé spécifiée et définir m_hKey
sur le handle de cette clé.
LONG Open(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
REGSAM samDesired = KEY_READ | KEY_WRITE) throw();
Paramètres
hKeyParent
Handle d’une clé ouverte.
lpszKeyName
Spécifie le nom d’une clé à créer ou ouvrir. Ce nom doit être une sous-clé de hKeyParent
.
samDesired
Accès de sécurité pour la clé. La valeur par défaut est KEY_ALL_ACCESS
. Pour obtenir la liste des valeurs et descriptions possibles, consultez RegCreateKeyEx
le Kit de développement logiciel (SDK) Windows.
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
; sinon, une valeur d’erreur non nulle définie dans WINERROR.H
.
Notes
Si le lpszKeyName
paramètre est NULL
ou pointe vers une chaîne vide, Open
ouvre un nouveau handle de la clé identifiée par hKeyParent
, mais ne ferme aucun handle précédemment ouvert.
Contrairement CRegKey::Create
à , Open
ne crée pas la clé spécifiée s’il n’existe pas.
CRegKey::operator HKEY
Convertit un CRegKey
objet en HKEY
un .
operator HKEY() const throw();
CRegKey::operator =
Opérateur d'assignation.
CRegKey& operator= (CRegKey& key) throw();
Paramètres
key
Clé à copier.
Valeur de retour
Retourne une référence à la nouvelle clé.
Notes
Cet opérateur se détache key
de son objet actuel et l’affecte à l’objet à la CRegKey
place.
CRegKey::QueryBinaryValue
Appelez cette méthode pour récupérer les données binaires d’un nom de valeur spécifié.
LONG QueryBinaryValue(
LPCTSTR pszValueName,
void* pValue,
ULONG* pnBytes) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
pValue
Pointeur vers une mémoire tampon qui reçoit les données de la valeur.
pnBytes
Pointeur vers une variable qui spécifie la taille, en octets, de la mémoire tampon pointée par le pValue
paramètre. Lorsque la méthode est retournée, cette variable contient la taille des données copiées dans la mémoire tampon.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas de type REG_BINARY
, ERROR_INVALID_DATA
elles sont retournées.
Notes
Cette méthode utilise RegQueryValueEx
et confirme que le type de données correct est retourné. Consultez RegQueryValueEx
pour plus d’informations.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::QueryDWORDValue
Appelez cette méthode pour récupérer les DWORD
données d’un nom de valeur spécifié.
LONG QueryDWORDValue(
LPCTSTR pszValueName,
DWORD& dwValue) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
dwValue
Pointeur vers une mémoire tampon qui reçoit le DWORD
.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas de type REG_DWORD
, ERROR_INVALID_DATA
elles sont retournées.
Notes
Cette méthode utilise RegQueryValueEx
et confirme que le type de données correct est retourné. Consultez RegQueryValueEx
pour plus d’informations.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::QueryGUIDValue
Appelez cette méthode pour récupérer les données GUID d’un nom de valeur spécifié.
LONG QueryGUIDValue(
LPCTSTR pszValueName,
GUID& guidValue) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
guidValue
Pointeur vers une variable qui reçoit le GUID.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas un GUID valide, ERROR_INVALID_DATA
elle est retournée.
Notes
Cette méthode utilise CRegKey::QueryStringValue
et convertit la chaîne en GUID à l’aide CLSIDFromString
de .
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées.
CRegKey::QueryMultiStringValue
Appelez cette méthode pour récupérer les données multistring pour un nom de valeur spécifié.
LONG QueryMultiStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
pszValue
Pointeur vers une mémoire tampon qui reçoit les données multistring. Une chaîne multiple est un tableau de NULL
chaînes -terminated, arrêtées par deux caractères Null.
pnChars
Taille, en TCHARs
, de la mémoire tampon pointée par pszValue
. Lorsque la méthode retourne, pnChars
contient la taille, en TCHARs
, du multistring récupéré, y compris un caractère null de fin.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas de type REG_MULTI_SZ
, ERROR_INVALID_DATA
elles sont retournées.
Notes
Cette méthode utilise RegQueryValueEx
et confirme que le type de données correct est retourné. Consultez RegQueryValueEx
pour plus d’informations.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::QueryQWORDValue
Appelez cette méthode pour récupérer les QWORD
données d’un nom de valeur spécifié.
LONG QueryQWORDValue(
LPCTSTR pszValueName,
ULONGLONG& qwValue) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
qwValue
Pointeur vers une mémoire tampon qui reçoit le QWORD
.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas de type REG_QWORD
, ERROR_INVALID_DATA
elles sont retournées.
Notes
Cette méthode utilise RegQueryValueEx
et confirme que le type de données correct est retourné. Consultez RegQueryValueEx
pour plus d’informations.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::QueryStringValue
Appelez cette méthode pour récupérer les données de chaîne d’un nom de valeur spécifié.
LONG QueryStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger.
pszValue
Pointeur vers une mémoire tampon qui reçoit les données de chaîne.
pnChars
Taille, en TCHAR, de la mémoire tampon pointée par pszValue
. Lorsque la méthode retourne, pnChars
contient la taille, en TCHARs
, de la chaîne récupérée, y compris un caractère null de fin.
Valeur de retour
Si la méthode réussit, ERROR_SUCCESS
elle est retournée. Si la méthode ne parvient pas à lire une valeur, elle retourne un code d’erreur différent de zéro défini dans WINERROR.H
. Si les données référencées ne sont pas de type REG_SZ
, ERROR_INVALID_DATA
elles sont retournées. Si la méthode retourne ERROR_MORE_DATA
, pnChars
est égale à zéro, et non la taille de mémoire tampon requise en octets.
Notes
Cette méthode utilise RegQueryValueEx
et confirme que le type de données correct est retourné. Consultez RegQueryValueEx
pour plus d’informations.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::QueryValue
Appelez cette méthode pour récupérer les données du champ de valeur spécifié de m_hKey
. Les versions antérieures de cette méthode ne sont plus prises en charge et sont marquées comme 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);
Paramètres
pszValueName
Pointeur vers une NULL
chaîne -terminated contenant le nom de la valeur à interroger. Si pszValueName
elle est NULL
ou une chaîne vide, ""
la méthode récupère le type et les données de la valeur sans nom ou par défaut de la clé, le cas échéant.
pdwType
Pointeur vers une variable qui reçoit un code indiquant le type de données stockées dans la valeur spécifiée. Le pdwType
paramètre peut être NULL
si le code de type n’est pas obligatoire.
pData
Pointeur vers une mémoire tampon qui reçoit les données de la valeur. Ce paramètre peut être NULL
si les données ne sont pas requises.
pnBytes
Pointeur vers une variable qui spécifie la taille, en octets, de la mémoire tampon pointée par le pData
paramètre. Lorsque la méthode est retournée, cette variable contient la taille des données copiées dans pData
.
dwValue
Données numériques du champ valeur.
lpszValueName
Spécifie le champ de valeur à interroger.
szValue
Données de chaîne du champ valeur.
pdwCount
Taille des données de chaîne. Sa valeur est initialement définie sur la taille de la szValue
mémoire tampon.
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
; sinon, un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Les deux versions d’origine de QueryValue
ne sont plus prises en charge et sont marquées comme ATL_DEPRECATED
. Le compilateur émet un avertissement si ces formulaires sont utilisés.
La méthode restante appelle RegQueryValueEx
.
Important
Cette méthode permet à l’appelant de spécifier n’importe quel emplacement de Registre, potentiellement la lecture des données qui ne peuvent pas être approuvées. En outre, la RegQueryValueEx
fonction utilisée par cette méthode ne gère pas explicitement les chaînes qui sont terminées par null. Les deux conditions doivent être vérifiées par le code appelant.
CRegKey::RecurseDeleteKey
Appelez cette méthode pour supprimer la clé spécifiée du Registre et supprimer explicitement toutes les sous-clés.
LONG RecurseDeleteKey(LPCTSTR lpszKey) throw();
Paramètres
lpszKey
Spécifie le nom de la clé à supprimer. Ce nom doit être une sous-clé de m_hKey
.
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
; sinon, une valeur d’erreur non nulle définie dans WINERROR.H
.
Notes
Si la clé a des sous-clés, vous devez appeler cette méthode pour supprimer la clé.
CRegKey::SetBinaryValue
Appelez cette méthode pour définir la valeur binaire de la clé de Registre.
LONG SetBinaryValue(
LPCTSTR pszValueName,
const void* pValue,
ULONG nBytes) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
pValue
Pointeur vers une mémoire tampon contenant les données à stocker avec le nom de valeur spécifié.
nBytes
Spécifie la taille, en octets, des informations pointées par le pValue
paramètre.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise RegSetValueEx
pour écrire la valeur dans le Registre.
CRegKey::SetDWORDValue
Appelez cette méthode pour définir la DWORD
valeur de la clé de Registre.
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
dwValue
Données DWORD
à stocker avec le nom de valeur spécifié.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise RegSetValueEx
pour écrire la valeur dans le Registre.
CRegKey::SetGUIDValue
Appelez cette méthode pour définir la valeur GUID de la clé de Registre.
LONG SetGUIDValue(LPCTSTR pszValueName, REFGUID guidValue) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
guidValue
Référence au GUID à stocker avec le nom de valeur spécifié.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise CRegKey::SetStringValue
et convertit le GUID en chaîne à l’aide StringFromGUID2
de .
CRegKey::SetKeyValue
Appelez cette méthode pour stocker des données dans un champ de valeur spécifié d’une clé spécifiée.
LONG SetKeyValue(
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL) throw();
Paramètres
lpszKeyName
Spécifie le nom de la clé à créer ou ouvrir. Ce nom doit être une sous-clé de m_hKey
.
lpszValue
Spécifie les données à stocker. Ce paramètre doit être différent.NULL
lpszValueName
Spécifie le champ de valeur à définir. Si un champ valeur portant ce nom n’existe pas déjà dans la clé, il est ajouté.
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
; sinon, un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Appelez cette méthode pour créer ou ouvrir la lpszKeyName
clé et stocker les lpszValue
données dans le lpszValueName
champ valeur.
CRegKey::SetKeySecurity
Appelez cette méthode pour définir la sécurité de la clé de Registre.
LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw();
Paramètres
si
Spécifie les composants du descripteur de sécurité à définir. La valeur peut être une combinaison des valeurs suivantes :
Valeur | Signification |
---|---|
DACL_SECURITY_INFORMATION |
Définit la liste de contrôle d’accès discrétionnaire (DACL) de la clé. La clé doit avoir WRITE_DAC accès, ou le processus appelant doit être le propriétaire de l’objet. |
GROUP_SECURITY_INFORMATION |
Définit l’identificateur de sécurité de groupe principal (SID) de la clé. La clé doit avoir WRITE_OWNER accès, ou le processus appelant doit être le propriétaire de l’objet. |
OWNER_SECURITY_INFORMATION |
Définit le SID propriétaire de la clé. La clé doit avoir WRITE_OWNER accès, ou le processus appelant doit être le propriétaire de l’objet ou activer le SE_TAKE_OWNERSHIP_NAME privilège. |
SACL_SECURITY_INFORMATION |
Définit la liste de contrôle d’accès système (SACL) de la clé. La clé doit avoir ACCESS_SYSTEM_SECURITY accès. La bonne façon d’obtenir cet accès consiste à activer le privilège dans le SE_SECURITY_NAME jeton d’accès actuel de l’appelant, à ouvrir le handle pour ACCESS_SYSTEM_SECURITY l’accès, puis à désactiver le privilège. |
psd
Pointeur vers une SECURITY_DESCRIPTOR
structure qui spécifie les attributs de sécurité à définir pour la clé spécifiée.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Définit les attributs de sécurité de la clé. Consultez RegSetKeySecurity
pour plus d’informations.
CRegKey::SetMultiStringValue
Appelez cette méthode pour définir la valeur multistring de la clé de Registre.
LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
pszValue
Pointeur vers les données multistring à stocker avec le nom de valeur spécifié. Une chaîne multiple est un tableau de NULL
chaînes -terminated, arrêtées par deux caractères Null.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise RegSetValueEx
pour écrire la valeur dans le Registre.
CRegKey::SetQWORDValue
Appelez cette méthode pour définir la QWORD
valeur de la clé de Registre.
LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
qwValue
Données QWORD
à stocker avec le nom de valeur spécifié.
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise RegSetValueEx
pour écrire la valeur dans le Registre.
CRegKey::SetStringValue
Appelez cette méthode pour définir la valeur de chaîne de la clé de Registre.
LONG SetStringValue(
LPCTSTR pszValueName,
LPCTSTR pszValue,
DWORD dwType = REG_SZ) throw();
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente, la méthode l’ajoute à la clé.
pszValue
Pointeur vers les données de chaîne à stocker avec le nom de valeur spécifié.
dwType
Type de la chaîne à écrire dans le Registre : REG_SZ
soit (la valeur par défaut) soit REG_EXPAND_SZ
(pour les chaînes multiples).
Valeur de retour
Si la méthode réussit, la valeur de retour est ERROR_SUCCESS
. Si la méthode échoue, la valeur de retour est un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Cette méthode utilise RegSetValueEx
pour écrire la valeur dans le Registre.
CRegKey::SetValue
Appelez cette méthode pour stocker des données dans le champ de valeur spécifié de m_hKey
. Les versions antérieures de cette méthode ne sont plus prises en charge et sont marquées comme 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);
Paramètres
pszValueName
Pointeur vers une chaîne contenant le nom de la valeur à définir. Si une valeur portant ce nom n’est pas déjà présente dans la clé, la méthode l’ajoute à la clé. Si pszValueName
elle est NULL
ou une chaîne vide, ""
la méthode définit le type et les données de la valeur non nommée ou par défaut de la clé.
dwType
Spécifie un code indiquant le type de données pointées par le pValue
paramètre.
pValue
Pointeur vers une mémoire tampon contenant les données à stocker avec le nom de valeur spécifié.
nBytes
Spécifie la taille, en octets, des informations pointées par le pValue
paramètre. Si les données sont de type REG_SZ
, REG_EXPAND_SZ
ou REG_MULTI_SZ
, nBytes
doivent inclure la taille du caractère null de fin.
hKeyParent
Handle d’une clé ouverte.
lpszKeyName
Spécifie le nom d’une clé à créer ou ouvrir. Ce nom doit être une sous-clé de hKeyParent
.
lpszValue
Spécifie les données à stocker. Ce paramètre doit être différent.NULL
lpszValueName
Spécifie le champ de valeur à définir. Si un champ valeur portant ce nom n’existe pas déjà dans la clé, il est ajouté.
dwValue
Spécifie les données à stocker.
bMulti
Si la valeur est false, indique que la chaîne est de type REG_SZ
. Si la valeur est true, indique que la chaîne est un multistring de type REG_MULTI_SZ
.
nValueLen
Si bMulti
la valeur est true, nValueLen
correspond à la longueur de la lpszValue
chaîne en caractères. Si bMulti
la valeur est false, la valeur -1 indique que la méthode calcule automatiquement la longueur.
Valeur de retour
Si elle réussit, retourne ERROR_SUCCESS
; sinon, un code d’erreur différent de zéro défini dans WINERROR.H
.
Notes
Les deux versions d’origine SetValue
sont marquées comme ATL_DEPRECATED
étant et ne doivent plus être utilisées. Le compilateur émet un avertissement si ces formulaires sont utilisés.
La troisième méthode appelle RegSetValueEx
.