Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE

Why do I get 0 functions when recording a DCOM application?

Why do I get 0 functions when recording a DCOM application?

COM Support was deprecated in Silk Performer 2011, so this article is only applicable up until Silk Performer version 2010 R2.

The SilkPerformer recorder intercepts the creation of a COM object. The recorder then tries to get the ProgId (human readable name of the COM object) from the CLSID. The SilkPerformer recorder uses basic COM functions to get the ProgId. The basic COM functions (provided by Microsoft) resolve the ProgID from the CLSID by a registry lookup. When the COM components are not registered on the local machine, as with DCOM, this lookup fails and the SilkPerformer recorder is not able to record any actions. Instead with DCOM, when the client application is built the client application is compiled with the COM interface information. During execution of the application the Microsoft COM Layer handles the remote activation without requiring the COM components to be registered on the client.

With the creation of a new record dll for the COM recorder, either the name or the CLSID can now be resolved. Please contact Support for this modified file. This means, instead of:

ComCreateObject(hIFace1, "somecomobject");

 

You will see

ComCreateObject(hIFace1, "{someclsid}");

 

SilkPerformer replay engine can handle both versions of identifying a COM object.

 

This approach does not change the way SilkPerformer needs to be configured to record a client application. Additional information on how to configure SilkPerformer is available in the following document

START | PROGRAMS | SILKPERFORMER 7.3.1 | DOCUMENTATION | ADVANCED CONCEPTS | LOAD TESTING COM AND ADO BASED APPLICATIONS

It is still necessary to provide the type libraries in the application profile. This is because the recorder needs to know which interfaces to hook. The main difference is the name resolution does not work the way it used to. Instead of "human readable" names for the COM object instantiation CLSIDs are now supplied.

SilkPerformer replay is not affected as the SilkPerformer API functions work successfully with both human readable ProgIds and CLSIDs


 

NOTE: Since the introduction of GUI-level testing in SilkPerformer 2006 Release 2, it may be possible to loadtest applications that cannot be recorded on the protocol- or API-levels by recording on the GUI level. Please refer to the GUI-Level Testing Support section of the Other Supported Environments chapter in the SilkPerformer User Guide for full details.

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
1 of 1
Last update:
‎2013-02-15 18:40
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.