![]() |
Platforms, Frameworks & Libraries »
COM / COM+ »
Architecture
Intermediate
COM IDs & Registry keys in a nutshellBy Joao C. MoraisAn article about COM IDs and the Registry |
VC6Win2K, Visual Studio, COM, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||

There is an important distinction between a C++ class and a COM class. In C++, a class is a type. A COM class is simply a definition of the object, and carries no type, although a C++ programmer might implement it using a C++ class. COM is designed to allow a class to be used by different applications, including applications written without knowledge of that particular class's existence. Therefore, class code for a given type of object exists either in a dynamic linked library (DLL) or in another application (EXE)."

{60B4140E-B0A7-4540-B744-7E1A944E8C78}
COM borrows this identify system to the Distributed Computing Environment (DCE) naming scheme. The DCE RPC system uses UUIDs.


| AppID node | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The CLSID_value is a 128-bit Globally Unique Identifier (GUID) that identifies the CLSID key |
|
|
String value The human-readable name. |
|
|
String value It is a 128-bit Globally Unique Identifier (GUID) that identifies the AppID key. |
|
|
Automatic object class conversion |
|
|
String value The class identifier (CLSID) of the object to which a given object or class of objects should be converted. |
|
|
Assigns the TreatAs value |
|
|
String value The CLSID that will automatically be assigned to the TreatAs entry. |
|
|
Identifies object as a control |
|
|
ShortDisplayName |
|
|
String value Specifies an application's short display name, used in menus, including pop-ups (e.g. "Chart"). |
|
|
ApplicationName |
|
|
String value Specifies an application name, used in the Results field of the Paste Special dialog box (e.g. "Super Graph 2001 Chart"). |
|
|
Identifies an object as an ActiveX Control |
|
|
String value This optional entry is used by containers to fill in dialog boxes. The container uses this subkey to determine whether to include an object in a dialog box that displays ActiveX Controls. |
|
|
Conversion used by the Convert dialog |
|
|
|
|
|
|
|
|
String value The file format an application can read (convert from). |
|
|
|
|
|
|
|
|
String value The file format an application can read and write (activate as). |
|
|
Formats supported by applications |
|
|
Provides default icon information |
|
|
String value Specifies the full path to the executable name of the object application and the resource index of the icon within the executable (e.g. "c:\toto\titi.exe,0"). |
|
|
Registers a 16-bit handler DLL |
|
|
String value Specifies the custom handler used by the application. |
|
|
Registers a 32-bit handler DLL |
|
|
String value Specifies the custom handler used by the application. |
|
|
Registers a 16-bit in-process server DLL |
|
|
String value Specifies the path to the in-process server DLL. |
|
|
Registers a 32-bit in-process server DLL |
|
|
String value Specifies the path to the 32-bit in-process server. |
|
|
String value Specifies the threading model of the apartment the server can run in. In-process servers are loaded into an existing apartment and so do not call CoInitialize or CoInitializeEx; they must use the registry to specify an application's threading model. Allowable values are: ThreadingModel=Apartment. Single-threaded apartment. ThreadingModel=Both. Single-threaded or multithreaded apartment. ThreadingModel=Free. Multithreaded apartment. ThreadingModel=Neutral. Neutral apartment (available in Windows 2000). |
|
|
Indicates whether the object is insertable in COM applications. Objects of this class should appear in the Insert Object dialog box's list box when used by COM container applications. |
|
|
String value Specifies the path to the 32-bit in-process server. |
|
|
Full path to a 16-bit local server application |
|
|
String value Specifies the full path to the local server, and can include command-line arguments. |
|
|
Full path to a 32-bit local server application |
|
|
String value Specifies the full path to the local server, and can include command-line arguments. |
|
|
Specifies how to create and display an object |
|
|
Programmatic identifier for a class |
|
|
String value Associates a ProgID with a CLSID. Generally, the ProgID structure is like: <vendor>.<component>.<version> and must:
|
|
|
Identifies the module name and resourdeID for a 16 x 16 bitmap to use for the face of a toolbar or toolbox button |
|
|
String value Specifies the module name and the resourceID for the bitmap (e.g. "c:\toto\titi.dll,5"). |
|
|
Specifies the CLSID of a class that can emulate the current class |
|
|
String value CLSID of the Class that is to perform the emulation. Emulation is the ability of one application to open and edit an object of a different class, while retaining the original format of the object. |
|
|
Verbs associated with an application |
|
|
Version number of the control |
|
|
String value The version number of the control. The version number should match the version of the type library associated with the control. |

| AppID node | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The AppID_value is a 128-bit Globally Unique Identifier (GUID) that identifies the AppID key |
|
|
String value Generally the human-readable name of the component. |
|
|
Binary value Sets an ACL that determines access. |
|
|
String value Configures the client to activate on the same system as persistent storage. Any value beginning with Y or y means that ActivageAtStorage should be used |
|
|
DWORD value Sets the default authentication.Values are from 1 through 6, and correspond to the RPC_C_AUTHN_LEVEL_xxx constants. Be aware that the AuthenticationLevel named value is supported only on Windows NT 4.0 SP4 and Windows 2000 as well as dcom95 1.1 . |
|
|
String value Names the surrogate process used to load DLLs remotely or locally. To use the system-supplied generic surrogate process, set surrogate_path to an empty string or NULL. |
|
|
Binary value Sets the ACL that determines who can launch the application. |
|
|
String value Configures the component to run as a Win32 service. The LocalService named-value is used in preference to the LocalServer32 key for local and remote activation requests � if LocalService exists and refers to a valid service, the LocalServer32 key is ignored. |
|
|
String value Configures the component to run as a Win32 service. |
|
|
String value Names of the remote Server. |
|
|
String value Sets an application to run only as given user. It must either of the form username, domain\username, or the string "Interactive User". To establish a password for a RunAs class, you must use the DCOMCNFG administrative tool installed in the system directory. |
|
|
String value Sets parameters to be passed to LocalService on invocation. |

| AppID node | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The IID_value is a 128-bit Globally Unique Identifier (GUID) that identifies the Interface |
|
|
String value Generally the human-readable name of the Interface. |
|
|
Interface derived from |
|
|
String value The IID (GUID) of the Interface derived from. |
|
|
Number of methods |
|
|
String value The number of methods exposed by the Interface. |
|
|
Maps IID to CLSID (16-bit DLLs) |
|
|
String value Specifies the CLSID (GUID) to map the IID to. If you add interfaces, you must use this entry to register them (16-bit systems) so that OLE can find the appropriate remoting code to establish interprocess communication. |
|
|
Maps IID to CLSID (32-bit DLLs) |
|
|
String value Specifies the CLSID (GUID) to map the IID to. This is a required entry since the IID-to-CLSID mapping may be different for 16- and 32-bit interfaces. The IID-to-CLSID mapping depends on the way the interface proxies are packaged into a set of proxy DLLs. If you add interfaces, you must use this entry to register them (32-bit systems) so that OLE can find the appropriate remoting code to establish interprocess communication. |
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 24 Jul 2001 Editor: Chris Maunder |
Copyright 2001 by Joao C. Morais Everything else Copyright © CodeProject, 1999-2009 Web10 | Advertise on the Code Project |