Share via


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

Confira também

LoadUserProfile

Regclosekey

RegOpenKeyEx

Funções do Registro

Visão geral do Registro