Compartilhar via


Método IOleObject::GetUserType (oleidl.h)

Recupera o nome do tipo de usuário de um objeto para exibição em elementos de interface do usuário, como menus, caixas de listagem e caixas de diálogo.

Sintaxe

HRESULT GetUserType(
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

Parâmetros

[in] dwFormOfType

A forma do nome de tipo de usuário a ser apresentado aos usuários. Os valores possíveis são obtidos da enumeração USERCLASSTYPE .

[out] pszUserType

Endereço da variável de ponteiro LPOLESTR que recebe um ponteiro para a cadeia de caracteres de tipo de usuário. O chamador deve liberar pszUserType usando a instância IMalloc atual. Se ocorrer um erro, a implementação deverá definir pszUserType como NULL.

Retornar valor

Esse método retorna S_OK em caso de êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
OLE_S_USEREG
Delegue para a implementação do manipulador padrão usando o registro para fornecer as informações solicitadas.

Comentários

Os contêineres chamam IOleObject::GetUserType para representar objetos inseridos em caixas de listagem, menus e caixas de diálogo por seus nomes normais e reconhecíveis pelo usuário. Os exemplos incluem "Word Documento", "Gráfico do Excel" e "Objeto Paintbrush". As informações retornadas por IOleObject::GetUserType são o equivalente legível pelo usuário do identificador de classe binária retornado por IOleObject::GetUserClassID.

Anotações aos Chamadores

A implementação do manipulador padrão de IOleObject::GetUserType usa o identificador de classe do objeto (o parâmetro pClsid retornado por IOleObject::GetUserClassID) e o parâmetro dwFormOfType juntos como uma chave no registro. Se for encontrada uma entrada que corresponda exatamente à chave, o tipo de usuário especificado por essa entrada será retornado. Se apenas a parte CLSID da chave corresponder, a entrada com menor número disponível (geralmente o nome completo) será usada. Se o CLSID não for encontrado ou não houver tipos de usuário registrados para a classe , o tipo de usuário encontrado atualmente no armazenamento do objeto será usado.

Você não deve armazenar em cache a cadeia de caracteres retornada de IOleObject::GetUserType. Em vez disso, chame esse método toda vez que a cadeia de caracteres for necessária. Isso garante resultados corretos quando o objeto inserido está sendo convertido de um tipo em outro sem o conhecimento do chamador. Chamar esse método é barato porque o manipulador padrão o implementa usando o Registro.

Observações aos implementadores

Você pode usar a implementação fornecida pelo manipulador padrão retornando OLE_S_USEREG como a implementação desse método pelo aplicativo. Se o nome de tipo de usuário for uma cadeia de caracteres vazia, a mensagem "Objeto Desconhecido" será retornada.

Você pode chamar a função auxiliar OLE OleRegGetUserType para retornar o tipo de usuário apropriado.

Requisitos

Requisito Valor
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 oleidl.h

Confira também

Ioleobject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE