Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method retrieves the user type name of an object for display in user interface elements such as menus, list boxes, and dialog boxes.

Syntax

HRESULT GetUserType( 
  DWORD 
dwFormOfType, 
  LPOLESTR* 
pszUserType
);

Parameters

dwFormOfType

[in] Specifies the form of the user-type name to be presented to users.

Valid values are obtained from the USERCLASSTYPEenumeration.

pszUserType

[out] Address of LPOLESTRpointer variable that receives a pointer to the user type string.

The caller must free * pszUserTypeusing the current IMalloccerefIMallocinstance.

If an error occurs, the implementation must set * pszUserTypeto NULL.

Return Value

One of the values in the following table is returned.

Value Description

S_OK

The object's user-type name is returned.

OLE_S_USEREG

Delegate to the default handler's implementation using the registry to provide the requested information.

Remarks

Containers call GetUserTypeto represent embedded objects in list boxes, menus, and dialog boxes by their normal, user-recognizable names. Examples include "Word Document", "Excel Chart", and "Paintbrush Object."

The information returned by GetUserTypeis the user-readable equivalent of the binary class identifier returned by IOleObject::GetUserClassID.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Notes to Callers

The default handler's implementation of GetUserTypeuses the object's class identifier (the pClsidparameter returned by GetUserClassID) and the dwFormOfTypeparameter together as a key into the registry.

If an entry is found that matches the key exactly, the user type specified by that entry is returned.

If only the CLSID part of the key matches, the lowest-numbered entry available (usually the full name) is used.

If the CLSID is not found, or there are no user types registered for the class, the user type found in the object's storage is used.

Do not cache the string returned from GetUserType.Instead, call this method every time the string is needed. This guarantees correct results when the embedded object is being converted from one type into another without the caller's knowledge. Calling this method is inexpensive because the default handler implements it using the registry.

Notes to Implementers

You can use the implementation provided by the default handler by returning OLE_S_USEREG as your application's implementation of this method.

If the user type name is an empty string, the message "Unknown Object" is returned.

Requirements

Header Oleidl.h, oleidl.idl
Library oleaut32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also