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:
You will see
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.