Função RegOpenUserClassesRoot (winreg.h)
Recupera um identificador para a chave HKEY_CLASSES_ROOT para um usuário especificado. O usuário é identificado por um token de acesso. A chave retornada tem uma exibição do registro que mescla o conteúdo da chave HKEY_LOCAL_MACHINE\Software\Classes com o conteúdo das chaves Software\Classes no hive do registro do usuário. Para obter mais informações, consulte HKEY_CLASSES_ROOT Key.
Sintaxe
LSTATUS RegOpenUserClassesRoot(
[in] HANDLE hToken,
DWORD dwOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult
);
Parâmetros
[in] hToken
Um identificador para um token de acesso primário ou de representação que identifica o usuário de interesse. Esse pode ser um identificador de token retornado por uma chamada para funções LogonUser, CreateRestrictedToken, DuplicateToken, DuplicateTokenEx, OpenProcessToken ou OpenThreadToken .
O identificador deve ter acesso TOKEN_QUERY. Para obter mais informações, consulte Direitos de Acesso para objetos Access-Token.
dwOptions
Esse parâmetro é reservado e precisa ser zero.
[in] samDesired
Uma máscara que especifica os direitos de acesso desejados para a 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 Segurança de Chave do Registro e Direitos de Acesso.
[out] phkResult
Um ponteiro para uma variável que recebe um identificador para a chave aberta. Quando você não precisar mais do identificador retornado, chame a função RegCloseKey para fechá-la.
Valor retornado
Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor de retorno será o código de erro diferente de zero definido em Winerror.h. Você pode usar a função FormatMessage com o sinalizador FORMAT_MESSAGE_FROM_SYSTEM para obter uma descrição genérica do erro.
Comentários
A função RegOpenUserClassesRoot permite recuperar as informações de HKEY_CLASSES_ROOT mescladas para usuários diferentes do usuário interativo. Por exemplo, o componente de servidor de um aplicativo cliente/servidor poderia usar RegOpenUserClassesRoot para recuperar as informações mescladas de um cliente.
RegOpenUserClassesRoot falhará se o perfil de usuário do usuário especificado não estiver carregado. Quando um usuário faz logon interativamente, o sistema carrega automaticamente o perfil do usuário. Para outros usuários, você pode chamar a função LoadUserProfile para carregar o perfil do usuário. No entanto, LoadUserProfile pode ser muito demorado, portanto, não chame-o para essa finalidade, a menos que seja absolutamente necessário ter as informações de HKEY_CLASSES_ROOT mescladas do usuário.
Os aplicativos em execução no contexto de segurança do usuário conectado interativamente não precisam usar RegOpenUserClassesRoot. Esses aplicativos podem chamar a função RegOpenKeyEx para recuperar uma exibição mesclada da chave HKEY_CLASSES_ROOT para o usuário interativo.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winreg.h (inclua Windows.h) |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |