Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe fornece métodos para manipular entradas no registo do sistema.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CRegKey
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CRegKey::CRegKey |
O construtor. |
CRegKey::~CRegKey |
O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
CRegKey::Attach |
Chame este método para anexar um HKEY ao CRegKey objeto, definindo o m_hKey handle do membro para hKey. |
CRegKey::Close |
Chame este método para libertar o m_hKey handle do membro e defini-lo para NULL. |
CRegKey::Create |
Chame este método para criar a chave especificada, se esta não existir como subchave de hKeyParent. |
CRegKey::DeleteSubKey |
Chame este método para remover a chave especificada do registo. |
CRegKey::DeleteValue |
Chame este método para remover um campo de valores de m_hKey. |
CRegKey::Detach |
Chame este método para separar a m_hKey alça de membro do CRegKey objeto e defina m_hKey para NULL. |
CRegKey::EnumKey |
Chame este método para enumerar as subchaves da chave aberta do registo. |
CRegKey::Flush |
Chame este método para escrever todos os atributos da chave do registo aberto no registo. |
CRegKey::GetKeySecurity |
Chame este método para recuperar uma cópia do descritor de segurança que protege a chave do registo aberto. |
CRegKey::NotifyChangeKeyValue |
Este método notifica o chamador sobre alterações nos atributos ou conteúdos da chave de registo aberto. |
CRegKey::Open |
Chame este método para abrir a chave especificada e defina m_hKey para a alavanca dessa chave. |
CRegKey::QueryBinaryValue |
Chame este método para recuperar os dados binários de um nome de valor especificado. |
CRegKey::QueryDWORDValue |
Chame este método para recuperar os DWORD dados de um nome de valor especificado. |
CRegKey::QueryGUIDValue |
Chame este método para recuperar os dados GUID para um nome de valor especificado. |
CRegKey::QueryMultiStringValue |
Chame este método para recuperar os dados multistring para um nome de valor especificado. |
CRegKey::QueryQWORDValue |
Chame este método para recuperar os QWORD dados de um nome de valor especificado. |
CRegKey::QueryStringValue |
Chame este método para recuperar os dados da cadeia para um nome de valor especificado. |
CRegKey::QueryValue |
Chame este método para recuperar os dados do campo de valores especificado de m_hKey. Versões anteriores deste método já não são suportadas e são marcadas como ATL_DEPRECATED. |
CRegKey::RecurseDeleteKey |
Chame este método para remover a chave especificada do registo e remover explicitamente quaisquer subchaves. |
CRegKey::SetBinaryValue |
Chame este método para definir o valor binário da chave do registo. |
CRegKey::SetDWORDValue |
Chame este método para definir o DWORD valor da chave do registo. |
CRegKey::SetGUIDValue |
Chame este método para definir o valor GUID da chave do registo. |
CRegKey::SetKeySecurity |
Chame este método para definir a segurança da chave do registo. |
CRegKey::SetKeyValue |
Chame este método para armazenar dados num campo de valor especificado de uma chave especificada. |
CRegKey::SetMultiStringValue |
Chame este método para definir o valor multistring da chave do registo. |
CRegKey::SetQWORDValue |
Chame este método para definir o QWORD valor da chave do registo. |
CRegKey::SetStringValue |
Chame este método para definir o valor da cadeia da chave do registo. |
CRegKey::SetValue |
Chame este método para armazenar dados no campo de valores especificado de m_hKey. Versões anteriores deste método já não são suportadas e são marcadas como ATL_DEPRECATED. |
Operadores Públicos
| Nome | Description |
|---|---|
CRegKey::operator HKEY |
Converte um CRegKey objeto em um HKEY. |
CRegKey::operator = |
Operador de atribuição. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
CRegKey::m_hKey |
Contém um handle da chave de registo associada ao CRegKey objeto. |
CRegKey::m_pTM |
Apontador para CAtlTransactionManager objeto |
Observações
CRegKey fornece métodos para criar e eliminar chaves e valores no registo do sistema. O registo contém um conjunto específico de definições para componentes do sistema, como números de versão do software, mapeamentos lógico-físico do hardware instalado e objetos COM.
CRegKey fornece uma interface de programação para o registo do sistema para uma dada máquina. Por exemplo, para abrir uma chave de registo específica, chame CRegKey::Open. Para recuperar ou modificar um valor de dados, chame CRegKey::QueryValue ou CRegKey::SetValue, respetivamente. Para fechar uma chave, ligue CRegKey::Closepara .
Quando fecha uma chave, os seus dados do registo são escritos (limpos) no disco rígido. Este processo pode demorar vários segundos. Se a sua aplicação tiver de escrever explicitamente dados do registo no disco rígido, pode chamar a RegFlushKey função Win32. No entanto, RegFlushKey consome muitos recursos do sistema e só deve ser chamado quando absolutamente necessário.
Importante
Quaisquer métodos que permitam ao chamador especificar uma localização de registo têm o potencial de ler dados que não são de confiança. Os métodos que utilizam devem RegQueryValueEx ter em conta que esta função não trata explicitamente cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
Requerimentos
Cabeçalho:atlbase.h
CRegKey::Attach
Chame este método para anexar an HKEY ao CRegKey objeto, definindo o m_hKey handle do membro para hKey.
void Attach(HKEY hKey) throw();
Parâmetros
hKey
O handle de uma chave de registo.
Observações
Attach afirmará se m_hKey não for não-NULL.
CRegKey::Close
Chame este método para libertar o m_hKey handle do membro e defini-lo para NULL.
LONG Close() throw();
Valor de retorno
Se for bem-sucedido, retorna ERROR_SUCCESS; caso contrário, retorna um valor de erro.
CRegKey::Create
Chame este método para criar a chave especificada, se esta não existir como subchave 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();
Parâmetros
hKeyParent
A pega de uma chave aberta.
lpszKeyName
Especifica o nome de uma chave a ser criada ou aberta. Este nome deve ser uma subchave de hKeyParent.
lpszClass
Especifica a classe da chave a ser criada ou aberta. O valor padrão é REG_NONE.
dwOptions
Opções para a chave. O valor predefinido é REG_OPTION_NON_VOLATILE. Para uma lista de valores e descrições possíveis, veja RegCreateKeyEx no SDK do Windows.
samDesired
O acesso de segurança para a chave. O valor predefinido é KEY_READ | KEY_WRITE. Para uma lista de valores e descrições possíveis, veja RegCreateKeyEx.
lpSecAttr
Um apontador para uma SECURITY_ATTRIBUTES estrutura que indica se a alavanca da chave pode ser herdada por um processo filho. Por defeito, este parâmetro é NULL (ou seja, o handle não pode ser herdado).
lpdwDisposition
[fora] Se não-NULL, recupera ou REG_CREATED_NEW_KEY (se a chave não existiu e foi criada) ou REG_OPENED_EXISTING_KEY (se a chave existiu e foi aberta).
Valor de retorno
Se for bem-sucedido, retorna ERROR_SUCCESS e abre a chave. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Create coloca o m_hKey membro na alavanca desta chave.
CRegKey::CRegKey
O construtor.
CRegKey() throw();
CRegKey(CRegKey& key) throw();
explicit CRegKey(HKEY hKey) throw();
CRegKey(CAtlTransactionManager* pTM) throw();
Parâmetros
key
Uma referência a um objeto CRegKey.
hKey
Um handle para uma chave de registo.
pTM
Apontador para CAtlTransactionManager objeto
Observações
Cria um novo CRegKey objeto. O objeto pode ser criado a partir de um objeto existente CRegKey , ou de um handle para uma chave de registo.
CRegKey::~CRegKey
O destruidor.
~CRegKey() throw();
Observações
O destruidor liberta m_hKey.
CRegKey::DeleteSubKey
Chame este método para remover a chave especificada do registo.
LONG DeleteSubKey(LPCTSTR lpszSubKey) throw();
Parâmetros
lpszSubKey
Especifica o nome da chave a eliminar. Este nome deve ser uma subchave de m_hKey.
Valor de retorno
Se for bem-sucedido, devolve ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
DeleteSubKey Só pode eliminar uma chave que não tenha subchaves. Se a chave tiver subchaves, chame RecurseDeleteKey em vez disso.
CRegKey::DeleteValue
Chame este método para remover um campo de valores de m_hKey.
LONG DeleteValue(LPCTSTR lpszValue) throw();
Parâmetros
lpszValue
Especifica o campo de valor a remover.
Valor de retorno
Se for bem-sucedido, devolve ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
CRegKey::Detach
Chame este método para separar a m_hKey alça de membro do CRegKey objeto e defina m_hKey para NULL.
HKEY Detach() throw();
Valor de retorno
O HKEY associado ao CRegKey objeto.
CRegKey::EnumKey
Chame este método para enumerar as subchaves da chave aberta do registo.
LONG EnumKey(
DWORD iIndex,
LPTSTR pszName,
LPDWORD pnNameLength,
FILETIME* pftLastWriteTime = NULL) throw();
Parâmetros
iIndex
O índice subchave. Este parâmetro deve ser zero para a primeira chamada e depois incrementado para chamadas subsequentes
pszName
Aponta para um buffer que recebe o nome da subchave, incluindo o carácter nulo que termina. Apenas o nome da subchave é copiado para o buffer, não a hierarquia completa de chaves.
pnNameLength
Apontador para uma variável que especifica o tamanho, em TCHARs, do buffer especificado pelo pszName parâmetro. Este tamanho deve incluir o carácter nulo que termina. Quando o método retorna, a variável apontada por pnNameLength contém o número de caracteres armazenados no buffer. A contagem devolvida não inclui o carácter nulo de terminação.
pftLastWriteTime
Apontador para uma variável que recebe o momento em que a subchave enumerada foi escrita pela última vez.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Para enumerar as subchaves, chame CRegKey::EnumKey com um índice zero. Incremente o valor do índice e repita até que o método devolva ERROR_NO_MORE_ITEMS. Para obter mais informações, consulte RegEnumKeyEx no SDK do Windows.
CRegKey::Flush
Chame este método para escrever todos os atributos da chave do registo aberto no registo.
LONG Flush() throw();
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Para obter mais informações, consulte RegEnumFlush no SDK do Windows.
CRegKey::GetKeySecurity
Chame este método para recuperar uma cópia do descritor de segurança que protege a chave do registo aberto.
LONG GetKeySecurity(
SECURITY_INFORMATION si,
PSECURITY_DESCRIPTOR psd,
LPDWORD pnBytes) throw();
Parâmetros
si
O SECURITY_INFORMATION valor que indica a informação de segurança solicitada.
psd
Um ponteiro para um buffer que recebe uma cópia do descritor de segurança solicitado.
pnBytes
O tamanho, em bytes, do buffer apontado por psd.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Para obter mais informações, veja RegGetKeySecurity.
CRegKey::m_hKey
Contém um handle da chave de registo associada ao CRegKey objeto.
HKEY m_hKey;
CRegKey::m_pTM
Ponteiro para um objeto CAtlTransactionManager.
CAtlTransactionManager* m_pTM;
Observações
CRegKey::NotifyChangeKeyValue
Este método notifica o chamador sobre alterações nos atributos ou conteúdos da chave de registo aberto.
LONG NotifyChangeKeyValue(
BOOL bWatchSubtree,
DWORD dwNotifyFilter,
HANDLE hEvent,
BOOL bAsync = TRUE) throw();
Parâmetros
bWatchSubtree
Especifica uma bandeira que indica se deve reportar alterações na chave especificada e em todas as suas subchaves ou apenas na chave especificada. Se este parâmetro for TRUE, o método reporta alterações na chave e nas suas subchaves. Se o parâmetro for FALSE, o método reporta alterações apenas na chave.
dwNotifyFilter
Especifica um conjunto de flags que controlam quais as alterações que devem ser reportadas. Este parâmetro pode ser uma combinação dos seguintes valores:
| Valor | Meaning |
|---|---|
REG_NOTIFY_CHANGE_NAME |
Avise o chamador se uma subchave for adicionada ou eliminada. |
REG_NOTIFY_CHANGE_ATTRIBUTES |
Notifique o chamador sobre alterações nos atributos da chave, como a informação do descritor de segurança. |
REG_NOTIFY_CHANGE_LAST_SET |
Notifique o chamador sobre alterações a um valor da chave. Isto pode incluir adicionar ou eliminar um valor, ou alterar um valor existente. |
REG_NOTIFY_CHANGE_SECURITY |
Notifique o interlocutor sobre alterações ao descritor de segurança da chave. |
hEvent
Atende a um evento. Se o bAsync parâmetro for TRUE, o método retorna imediatamente e as alterações são reportadas sinalizando este evento. Se bAsync for FALSE, hEvent é ignorado.
bAsync
Especifica um flag que indica como o método reporta as alterações. Se este parâmetro for TRUE, o método retorna imediatamente e reporta alterações sinalizando o evento especificado. Quando este parâmetro é FALSE, o método não retorna até que ocorra uma alteração. Se hEvent não especificar um evento válido, o bAsync parâmetro não pode ser TRUE.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Observação
Este método não notifica o chamador se a chave especificada for eliminada.
Para mais detalhes e um programa de exemplo, veja RegNotifyChangeKeyValue.
CRegKey::Open
Chame este método para abrir a chave especificada e defina m_hKey para a alavanca dessa chave.
LONG Open(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
REGSAM samDesired = KEY_READ | KEY_WRITE) throw();
Parâmetros
hKeyParent
A pega de uma chave aberta.
lpszKeyName
Especifica o nome de uma chave a ser criada ou aberta. Este nome deve ser uma subchave de hKeyParent.
samDesired
O acesso de segurança para a chave. O valor predefinido é KEY_ALL_ACCESS. Para uma lista de valores e descrições possíveis, veja RegCreateKeyEx no SDK do Windows.
Valor de retorno
Se bem-sucedido, retorna ERROR_SUCCESS; caso contrário, um valor de erro não nulo definido em WINERROR.H.
Observações
Se o lpszKeyName parâmetro for NULL ou apontar para uma cadeia vazia, Open abre um novo handle da chave identificada por hKeyParent, mas não fecha nenhum handle previamente aberto.
Ao contrário de CRegKey::Create, Open não criará a chave especificada se ela não existir.
CRegKey::operator HKEY
Converte um CRegKey objeto em um HKEY.
operator HKEY() const throw();
CRegKey::operator =
Operador de atribuição.
CRegKey& operator= (CRegKey& key) throw();
Parâmetros
key
A chave para copiar.
Valor de retorno
Devolve uma referência à nova chave.
Observações
Este operador desliga-se key do seu objeto atual e atribui-o ao CRegKey objeto em vez disso.
CRegKey::QueryBinaryValue
Chame este método para recuperar os dados binários de um nome de valor especificado.
LONG QueryBinaryValue(
LPCTSTR pszValueName,
void* pValue,
ULONG* pnBytes) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
pValue
Aponta para um buffer que recebe os dados do valor.
pnBytes
Apontador para uma variável que especifica o tamanho, em bytes, do buffer apontado pelo pValue parâmetro. Quando o método retorna, esta variável contém o tamanho dos dados copiados para o buffer.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem do tipo REG_BINARY, ERROR_INVALID_DATA é devolvido.
Observações
Este método utiliza RegQueryValueEx e confirma que o tipo correto de dados é devolvido. Consulte RegQueryValueEx para obter mais detalhes.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::QueryDWORDValue
Chame este método para recuperar os DWORD dados de um nome de valor especificado.
LONG QueryDWORDValue(
LPCTSTR pszValueName,
DWORD& dwValue) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
dwValue
Apontar para um buffer que recebe o DWORD.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem do tipo REG_DWORD, ERROR_INVALID_DATA é devolvido.
Observações
Este método utiliza RegQueryValueEx e confirma que o tipo correto de dados é devolvido. Consulte RegQueryValueEx para obter mais detalhes.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::QueryGUIDValue
Chame este método para recuperar os dados GUID para um nome de valor especificado.
LONG QueryGUIDValue(
LPCTSTR pszValueName,
GUID& guidValue) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
guidValue
Apontador para uma variável que recebe o GUID.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem um GUID válido, ERROR_INVALID_DATA são devolvidos.
Observações
Este método utiliza e CRegKey::QueryStringValue converte a cadeia num GUID usando CLSIDFromString.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança.
CRegKey::QueryMultiStringValue
Chame este método para recuperar os dados multistring para um nome de valor especificado.
LONG QueryMultiStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
pszValue
Apontador para um buffer que recebe os dados multistring. Uma multistring é um array de NULLcadeias terminadas em , terminadas por dois caracteres nulos.
pnChars
O tamanho, em TCHARs, do buffer apontava para .pszValue Quando o método retorna, pnChars contém o tamanho, em TCHARs, da multistring recuperada, incluindo um carácter nulo de terminação.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem do tipo REG_MULTI_SZ, ERROR_INVALID_DATA é devolvido.
Observações
Este método utiliza RegQueryValueEx e confirma que o tipo correto de dados é devolvido. Consulte RegQueryValueEx para obter mais detalhes.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::QueryQWORDValue
Chame este método para recuperar os QWORD dados de um nome de valor especificado.
LONG QueryQWORDValue(
LPCTSTR pszValueName,
ULONGLONG& qwValue) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
qwValue
Apontar para um buffer que recebe o QWORD.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem do tipo REG_QWORD, ERROR_INVALID_DATA é devolvido.
Observações
Este método utiliza RegQueryValueEx e confirma que o tipo correto de dados é devolvido. Consulte RegQueryValueEx para obter mais detalhes.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::QueryStringValue
Chame este método para recuperar os dados da cadeia para um nome de valor especificado.
LONG QueryStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar.
pszValue
Apontador para um buffer que recebe os dados da cadeia.
pnChars
O tamanho, em TCHARs, do buffer apontado para .pszValue Quando o método retorna, pnChars contém o tamanho, em TCHARs, da cadeia recuperada, incluindo um carácter nulo de terminação.
Valor de retorno
Se o método tiver sucesso, ERROR_SUCCESS é devolvido. Se o método falhar em ler um valor, devolve um código de erro não nulo definido em WINERROR.H. Se os dados referenciados não forem do tipo REG_SZ, ERROR_INVALID_DATA é devolvido. Se o método devolver ERROR_MORE_DATA, pnChars igual a zero, não é o tamanho do buffer necessário em bytes.
Observações
Este método utiliza RegQueryValueEx e confirma que o tipo correto de dados é devolvido. Consulte RegQueryValueEx para obter mais detalhes.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::QueryValue
Chame este método para recuperar os dados do campo de valores especificado de m_hKey. Versões anteriores deste método já não são suportadas e são marcadas como 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);
Parâmetros
pszValueName
Apontador para uma NULLcadeia terminada em que contém o nome do valor a consultar. Se pszValueName for NULL ou uma cadeia vazia, "", o método recupera o tipo e os dados para o valor não nomeado ou por defeito da chave, se existirem.
pdwType
Apontador para uma variável que recebe um código indicando o tipo de dados armazenados no valor especificado. O pdwType parâmetro pode ser NULL se o código de tipo não for necessário.
pData
Aponta para um buffer que recebe os dados do valor. Este parâmetro pode ser necessário NULL se os dados não forem necessários.
pnBytes
Apontador para uma variável que especifica o tamanho, em bytes, do buffer apontado pelo pData parâmetro. Quando o método retorna, esta variável contém o tamanho dos dados copiados para pData.
dwValue
Os dados numéricos do campo de valor.
lpszValueName
Especifica o campo de valor a ser consultado.
szValue
Os dados da cadeia do campo de valor.
pdwCount
O tamanho dos dados da cadeia. O seu valor é inicialmente definido para o tamanho do szValue buffer.
Valor de retorno
Se for bem-sucedido, retorna ERROR_SUCCESS; caso contrário, um código de erro não nulo definido em WINERROR.H.
Observações
As duas versões originais de QueryValue já não são suportadas e estão marcadas como ATL_DEPRECATED. O compilador emitirá um aviso se estes formulários forem usados.
O método restante chama RegQueryValueEx.
Importante
Este método permite ao chamador especificar qualquer localização do registo, potencialmente lendo dados que não são de confiança. Além disso, a RegQueryValueEx função usada por este método não lida explicitamente com cadeias que são terminadas por nulo. Ambas as condições devem ser verificadas pelo código de chamada.
CRegKey::RecurseDeleteKey
Chame este método para remover a chave especificada do registo e remover explicitamente quaisquer subchaves.
LONG RecurseDeleteKey(LPCTSTR lpszKey) throw();
Parâmetros
lpszKey
Especifica o nome da chave a eliminar. Este nome deve ser uma subchave de m_hKey.
Valor de retorno
Se bem-sucedido, retorna ERROR_SUCCESS; caso contrário, um valor de erro não nulo definido em WINERROR.H.
Observações
Se a chave tiver subchaves, deve chamar este método para eliminar a chave.
CRegKey::SetBinaryValue
Chame este método para definir o valor binário da chave do registo.
LONG SetBinaryValue(
LPCTSTR pszValueName,
const void* pValue,
ULONG nBytes) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
pValue
Apontador para um buffer contendo os dados a armazenar com o nome do valor especificado.
nBytes
Especifica o tamanho, em bytes, da informação apontada pelo pValue parâmetro.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método serve RegSetValueEx para escrever o valor no registo.
CRegKey::SetDWORDValue
Chame este método para definir o DWORD valor da chave do registo.
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
dwValue
Os DWORD dados a serem armazenados com o nome do valor especificado.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método serve RegSetValueEx para escrever o valor no registo.
CRegKey::SetGUIDValue
Chame este método para definir o valor GUID da chave do registo.
LONG SetGUIDValue(LPCTSTR pszValueName, REFGUID guidValue) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
guidValue
Referência ao GUID a ser armazenada com o nome do valor especificado.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método utiliza CRegKey::SetStringValue e converte o GUID numa cadeia usando StringFromGUID2.
CRegKey::SetKeyValue
Chame este método para armazenar dados num campo de valor especificado de uma chave especificada.
LONG SetKeyValue(
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL) throw();
Parâmetros
lpszKeyName
Especifica o nome da chave a ser criada ou aberta. Este nome deve ser uma subchave de m_hKey.
lpszValue
Especifica os dados a armazenar. Este parâmetro deve ser não-NULL.
lpszValueName
Especifica o campo valor a definir. Se um campo de valor com este nome ainda não existir na chave, é adicionado.
Valor de retorno
Se for bem-sucedido, retorna ERROR_SUCCESS; caso contrário, um código de erro não nulo definido em WINERROR.H.
Observações
Chame este método para criar ou abrir a lpszKeyName chave e armazenar os lpszValue dados no lpszValueName campo valor.
CRegKey::SetKeySecurity
Chame este método para definir a segurança da chave do registo.
LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw();
Parâmetros
si
Especifica os componentes do descritor de segurança a definir. O valor pode ser uma combinação dos seguintes valores:
| Valor | Meaning |
|---|---|
DACL_SECURITY_INFORMATION |
Define a lista de controlo de acesso discricionária (DACL) da chave. A chave deve ter WRITE_DAC acesso, ou o processo que chama deve ser o proprietário do objeto. |
GROUP_SECURITY_INFORMATION |
Define o identificador de segurança principal do grupo (SID) da chave. A chave deve ter WRITE_OWNER acesso, ou o processo que chama deve ser o proprietário do objeto. |
OWNER_SECURITY_INFORMATION |
Define o SID do proprietário da chave. A chave deve ter WRITE_OWNER acesso, ou o processo que chama deve ser o proprietário do objeto ou ter o SE_TAKE_OWNERSHIP_NAME privilégio ativado. |
SACL_SECURITY_INFORMATION |
Define a lista de controlo de acesso ao sistema (SACL) da chave. A chave tem de ter ACCESS_SYSTEM_SECURITY acesso. A forma correta de obter este acesso é ativar o SE_SECURITY_NAMEprivilégio no token de acesso atual do chamador, abrir o handle para ACCESS_SYSTEM_SECURITY acesso e depois desativar o privilégio. |
psd
Apontar para uma SECURITY_DESCRIPTOR estrutura que especifica os atributos de segurança a definir para a chave especificada.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Define os atributos de segurança da chave. Consulte RegSetKeySecurity para obter mais detalhes.
CRegKey::SetMultiStringValue
Chame este método para definir o valor multistring da chave do registo.
LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
pszValue
Apontador para os dados multistring a serem armazenados com o nome do valor especificado. Uma multistring é um array de NULLcadeias terminadas em , terminadas por dois caracteres nulos.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método serve RegSetValueEx para escrever o valor no registo.
CRegKey::SetQWORDValue
Chame este método para definir o QWORD valor da chave do registo.
LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
qwValue
Os QWORD dados a serem armazenados com o nome do valor especificado.
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método serve RegSetValueEx para escrever o valor no registo.
CRegKey::SetStringValue
Chame este método para definir o valor da cadeia da chave do registo.
LONG SetStringValue(
LPCTSTR pszValueName,
LPCTSTR pszValue,
DWORD dwType = REG_SZ) throw();
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente, o método adiciona-o à chave.
pszValue
Apontador para os dados da cadeia a serem armazenados com o nome do valor especificado.
dwType
O tipo da string a escrever no registo: ou REG_SZ (o padrão) ou REG_EXPAND_SZ (para multistrings).
Valor de retorno
Se o método for bem-sucedido, o valor de retorno é ERROR_SUCCESS. Se o método falhar, o valor de retorno é um código de erro não nulo definido em WINERROR.H.
Observações
Este método serve RegSetValueEx para escrever o valor no registo.
CRegKey::SetValue
Chame este método para armazenar dados no campo de valores especificado de m_hKey. Versões anteriores deste método já não são suportadas e são marcadas como 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);
Parâmetros
pszValueName
Apontador para uma cadeia que contém o nome do valor a definir. Se um valor com este nome ainda não estiver presente na chave, o método adiciona-o à chave. Se pszValueName for NULL ou uma cadeia vazia, "", o método define o tipo e os dados para o valor não nomeado ou padrão da chave.
dwType
Especifica um código que indica o tipo de dados apontados pelo pValue parâmetro.
pValue
Apontador para um buffer contendo os dados a armazenar com o nome do valor especificado.
nBytes
Especifica o tamanho, em bytes, da informação apontada pelo pValue parâmetro. Se os dados forem do tipo REG_SZ, REG_EXPAND_SZ, ou REG_MULTI_SZ, nBytes devem incluir o tamanho do carácter nulo terminante.
hKeyParent
A pega de uma chave aberta.
lpszKeyName
Especifica o nome de uma chave a ser criada ou aberta. Este nome deve ser uma subchave de hKeyParent.
lpszValue
Especifica os dados a armazenar. Este parâmetro deve ser não-NULL.
lpszValueName
Especifica o campo valor a definir. Se um campo de valor com este nome ainda não existir na chave, é adicionado.
dwValue
Especifica os dados a armazenar.
bMulti
Se falso, indica que a cadeia é do tipo REG_SZ. Se for verdadeiro, indica que a cadeia é uma multistring do tipo REG_MULTI_SZ.
nValueLen
Se bMulti for verdadeiro, nValueLen é o comprimento da lpszValue cadeia em caracteres. Se bMulti for falso, um valor de -1 indica que o método calculará automaticamente o comprimento.
Valor de retorno
Se for bem-sucedido, retorna ERROR_SUCCESS; caso contrário, um código de erro não nulo definido em WINERROR.H.
Observações
As duas versões originais estão SetValue marcadas como ATL_DEPRECATED e não devem mais ser usadas. O compilador emitirá um aviso se estes formulários forem usados.
O terceiro método chama RegSetValueEx.
Consulte também
Exemplo de DCOM
Visão geral da classe