|
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
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|