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

Recupera el nombre de tipo de usuario de un objeto para mostrarlo en elementos de la interfaz de usuario, como menús, cuadros de lista y cuadros de diálogo.

Sintaxis

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

Parámetros

[in] dwFormOfType

Forma del nombre de tipo de usuario que se va a presentar a los usuarios. Los valores posibles se obtienen de la enumeración USERCLASSTYPE .

[out] pszUserType

Dirección de la variable de puntero LPOLESTR que recibe un puntero a la cadena de tipo de usuario. El autor de la llamada debe liberar pszUserType mediante la instancia actual de IMalloc . Si se produce un error, la implementación debe establecer pszUserType en NULL.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
OLE_S_USEREG
Delegue la implementación del controlador predeterminado mediante el Registro para proporcionar la información solicitada.

Comentarios

Los contenedores llaman a IOleObject::GetUserType para representar objetos incrustados en cuadros de lista, menús y cuadros de diálogo por sus nombres normales y reconocibles por el usuario. Algunos ejemplos son "Word Documento", "Gráfico de Excel" y "Objeto Paintbrush". La información devuelta por IOleObject::GetUserType es el equivalente legible por el usuario del identificador de clase binaria devuelto por IOleObject::GetUserClassID.

Notas a los autores de llamadas

La implementación predeterminada del controlador de IOleObject::GetUserType usa el identificador de clase del objeto (el parámetro pClsid devuelto por IOleObject::GetUserClassID) y el parámetro dwFormOfType juntos como clave en el Registro. Si se encuentra una entrada que coincide exactamente con la clave, se devuelve el tipo de usuario especificado por esa entrada. Si solo coincide la parte CLSID de la clave, se usa la entrada con el número más bajo disponible (normalmente el nombre completo). Si no se encuentra el CLSID o no hay ningún tipo de usuario registrado para la clase , se usa el tipo de usuario que se encuentra actualmente en el almacenamiento del objeto.

No debe almacenar en caché la cadena devuelta desde IOleObject::GetUserType. En su lugar, llame a este método cada vez que se necesite la cadena. Esto garantiza resultados correctos cuando el objeto incrustado se convierte de un tipo a otro sin el conocimiento del autor de la llamada. Llamar a este método es económico porque el controlador predeterminado lo implementa mediante el registro.

Notas para los implementadores

Puede usar la implementación proporcionada por el controlador predeterminado devolviendo OLE_S_USEREG como implementación de esta aplicación. Si el nombre de tipo de usuario es una cadena vacía, se devuelve el mensaje "Objeto desconocido".

Puede llamar a la función auxiliar OLE OleRegGetUserType para devolver el tipo de usuario adecuado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

IOleObject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE