Função RegOpenKeyTransactedA (winreg.h)
Abre a chave do Registro especificada e a associa a uma transação. Observe que os nomes de chave não diferenciam maiúsculas de minúsculas.
Sintaxe
LSTATUS RegOpenKeyTransactedA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult,
[in] HANDLE hTransaction,
PVOID pExtendedParemeter
);
Parâmetros
[in] hKey
Um identificador para uma chave aberta do Registro. Esse identificador é retornado pelo RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExou função regOpenKeyTransacted. Também pode ser uma das seguintes chaves predefinidas :
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
O nome da subchave do Registro a ser aberta.
Os nomes de chave não diferenciam maiúsculas de minúsculas.
Se o parâmetro lpSubKey for NULL ou um ponteiro para uma cadeia de caracteres vazia e se hKey for uma chave predefinida, o sistema atualizará a chave predefinida e phkResult receberá o mesmo identificador hKey passado para a função. Caso contrário, phkResult receberá um novo identificador para a chave aberta.
Para obter mais informações, consulte limites de tamanho do elemento do Registro.
[in] ulOptions
Esse parâmetro é reservado e deve ser zero.
[in] samDesired
Uma máscara que especifica os direitos de acesso desejados à chave. A função falhará se o descritor de segurança da chave não permitir o acesso solicitado para o processo de chamada. Para obter mais informações, consulte de Direitos de Acesso e Segurança de Chave do Registro.
[out] phkResult
Um ponteiro para uma variável que recebe um identificador para a chave aberta. Se a chave não for uma das chaves predefinidas do Registro, chame a função RegCloseKey depois de terminar de usar o identificador.
[in] hTransaction
Um identificador para uma transação ativa. Esse identificador é retornado pela função
pExtendedParemeter
Esse parâmetro é reservado e deve ser NULL.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor retornado será um código de erro diferente de zero definido em Winerror.h. Você pode usar a função
Observações
Quando uma chave é aberta usando essa função, as operações subsequentes na chave são transacionadas. Se uma operação não transacionada for executada na chave antes que a transação seja confirmada, a transação será revertida. Depois que uma transação for confirmada ou revertida, você deverá reabrir a chave usando a função RegCreateKeyTransacted ou RegOpenKeyTransacted com um identificador de transação ativo para fazer operações adicionais transacionadas. Para obter mais informações sobre transações, consulte Kernel Transaction Manager.
Observe que as operações subsequentes em subchaves dessa chave não são transacionadas automaticamente. Portanto, a função RegDeleteKeyEx não executa uma operação de exclusão transacionada. Em vez disso, use a função RegDeleteKeyTransacted para executar uma operação de exclusão transacionada.
Ao contrário da função RegCreateKeyTransacted, a função RegOpenKeyTransacted não criará a chave especificada se a chave não existir no registro.
Se seu serviço ou aplicativo representar usuários diferentes, não use essa função com HKEY_CURRENT_USER. Em vez disso, chame a função RegOpenCurrentUser.
Se a chave retornada no phkResult for uma chave predefinida do Registro, ela não será incluída na transação fornecida.
Uma única chave do Registro pode ser aberta apenas 65.534 vezes. Ao tentar o 65.535th operação aberta, essa função falha com ERROR_NO_SYSTEM_RESOURCES.
Nota
O cabeçalho winreg.h define RegOpenKeyTransacted como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winreg.h (inclua Windows.h) |
biblioteca | Advapi32.lib |
de DLL |
Advapi32.dll |
Consulte também
RegDeleteKeyTransacted