The Stub Global Hook DLLs tab allows you to detect and specify global hook DLLs that may not be wanted in the stub process.
Some third party products such as storage devices and video cards are supplied with software to help integrate the hardware device into the computer desktop environment.
An example is the Iomega® Zip® drive. This uses a global hook via the IMGHOOK.DLL which allows the browse for files and browse for folders interfaces to correctly display all the storage devices on the computer, including the zip drive and any special options for the drive.
Some global (or system) hook DLLs can interfere with the correct operation of Coverage Validator when it inserts hooks into the target program, (although the IMGHOOK.DLL mentioned above doesn't).
The settings below allow you to specify and/or detect DLLs that should be treated as global hook DLLs.
Any DLL listed will fail to load into the target program when loaded via LoadLibrary() or LoadLibraryEx().
For situations where the hook DLL is already present in the target program, it can optionally be forcibly unloaded. This may happen if it was loaded before Coverage Validator attached to the process.
•Test for Window Blinds... test for Window Blinds DLLs loading into your application, and prevent them from loading
Window Blinds DLLs WBOCX.OCX and WBLIND.DLL are not compatible with Memory Validator.
•Test for Sugar Sync... test for Sugar Sync DLLs loading into your application, and prevent them from loading
Sugar Sync DLLs SugarSyncShellExt.dll and SugarSyncShellExt_x64.dll are not compatible with Memory Validator.
•Test for Visual Leak Detector... test for Visual Leak Detector DLLs loading into your application, and prevent them from loading
Visual Leak Detector is not compatible with Memory Validator. If you are linked to Visual Leak Detector you'll need to create a build without Visual Leak Detector to use with Memory Validator.
•Test for user specified... test for user specified DLLs loading into your application, and prevent them from loading
•Add DLL... browse and select one or more DLLs Open adds the chosen DLLs to the Global Hook DLLs list
•Remove removes any selected DLL from the list
•Remove All removes all DLLs from the list
Coverage Validator can detect any DLLs in its own process that are not ones it uses itself. Such DLLs are likely to be global hook DLLs:
•Auto Detect automatically detect DLLs which may be global hook DLLs, adding them to the Global Hook DLLs list
Additionally, you can request unloading of any of the listed global hook DLLs that are detected as already loaded into the target process when Coverage Validator attaches to it:
•Unload already loaded global hooks when ticked, forces an unload of any listed global hook DLLs
Use this with caution, as not all global hook DLLs may have been designed or intended for this!
If a DLL is prevented from loading because of these settings, or is allowed to load because of these settings, there will be an entry on the Diagnostic tab.
To view this data, go to the Diagnostic tab, select the Diagnostic sub tab, then set the Show combo box to "Dlls". All information about DLLs will be shown. Scroll through the list looking for "Prevented DLL load" in the left hand column. The right hand column will indicate if a DLL was prevented from loading, or allowed to load. The DLL name will also be shown.
Reset All - Resets all global settings, not just those on the current page.
Reset - Resets the settings on the current page.