CoGetTreatAsClass

Returns the CLSID of an object that can emulate the specified object.

HRESULT CoGetTreatAsClass(

REFCLSID clsidOld,
//CLSID of object that is being emulated
LPCLSID pclsidNew
//Points to location of CLSID for object that can emulate clsidOld
);

Parameters

clsidOld

Specifies the CLSID of the object that can be emulated or treated as an object with a different CLSID.

pclsidNew

Points to the location where the CLSID that can emulate clsidOld objects is retrieved. This parameter cannot be NULL. If there is no emulation information for clsidOld objects, then the clsidOld parameter is returned.

Return Values

S_OK

Indicates that a new CLSID was successfully returned.

S_FALSE

Indicates that there is no emulation information for the clsidOld parameter and that the *pclsidNew parameter is set to clsidOld.

REGDB_E_READREGDB

Indicates an error reading the registration database.

See the CLSIDFromString function for other possible errors.

Comments

This function returns the TreatAs entry in the registration database for the specified object. If there is no TreatAs entry for the specfied object, this function returns the CLSID of the original object (clsidOld).

Use this function to obtain the CLSID of an object application that can emulate the specified object. The end-user can request that a specified object be treated as an object of a different class, or a setup program can register one class of objects to be treated as objects of a different class. For example, a spreadsheet application may be able to read and write spreadsheets from a different application. The first application can then emulate the objects of the second by treating them as its own.

In the first case, the end-user makes the request through the Convert To dialog box. For example, the end-user might wish to edit a spreadsheet created by one application using a different application that can read and write the spreadsheet format of the original application. In the second case, an application's setup program can specify to activate objects of one class as objects of a different class. For example, when the application is updated, the objects created with the earlier version can be activated and treated as objects of the new version.

In either case, the object application or the setup program calls the CoTreatAsClass function to set the TreatAs entry in the registration database. Subsequently, all objects of the original CLSID are activated and treated as objects of the second CLSID.

See Also

CoTreatAsClass

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database