=============================================================================
                              Log object
=============================================================================
 Copyright (c) 2013-2025 AVObjects LLC
 Copyright (c) 2003-2013 Medialooks LLC
 All rights reserved.

DESCRIPTION
---------------------------------------------------------
The log object is designed to write information about the system and the current process,
as well as debug lines from any running module to an external file. The log object intercepts
calls to the OutputDebugStringA()/OutputDebugStringW system functions. The LoadLibraryA/W/ExA/ExW
methods for the 32-bit version (and partially for 64-bit version) of the log object are also intercepted.

The following registry keys are used to save/load log object properties:
- 32-bit version: HKEY_CURRENT_USER\Software\_DSTLLOG
- 64-bit version: HKEY_CURRENT_USER\Software\_DSTLLOG64

If the log object was registered for all users:
- 32-bit version: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\_DSTLLOG
- 64-bit version: HKEY_LOCAL_MACHINE\Software\_DSTLLOG64

rundll32.exe is used to install/deinstall the log object.
Parameters of command line:
   rundll32 <path to log.dll>,<parameter>
<parameter>:
   install
   default
   deinstall
ATTENTION. Don't insert space(s) between "<path to log.dll>," and "<parameter>" !

Examples:
- 32-bit version installation with dialog to select parameters
    rundll32 "C:\Log\log32.dll",install
- 64-bit version installation with default parameters
    rundll32 "C:\Log\log64.dll",default
- 32-bit version deinstallation
    rundll32 "C:\Log\log32.dll",deinstall

Default properties:
   "File name": Log32.log or Log64.log
   "Logging level (0..16)": 8
   "Make separate log for each proccess": NO
   "Registration for all users (in HKLM)": NO
   "Add new log to the end of the old file": YES
   "Recreate log file on each start": NO
   "Create new log file with timestamped name": NO
ATTENTION. If "Add new log to the end of the old file" option selected - please
do not forget to clear the log file (the log file may be very large) !

SYSTEM REQUIREMENTS
---------------------------------------------------------
The log object requirements are the minimum requirements for your operating system.

COMPONENTS
---------------------------------------------------------
Log32.dll
    32 bit Release version of log object

Log64.dll
    64 bit Release version of log object

*.bat
    batch files for installing/deinstalling the log object. Please make sure to correct
    these files according to the location of the log object (Log32.dll and Log64.dll).

Log_register.jpg
    example of dialog when installing the log object

ReadMe.txt
    Current file.

PROBLEMS
--------------------------------------------------
The LoadLibraryA/W/ExA/ExW methods are not fully hooked into the 64-bit version of the log object.

RELEASE NOTES
---------------------------------------------------
2.1.3.0 - Mar 24, 2025
    Added HKEY_LOCAL_MACHINE registration.
    Corrected "Install" dialog.
    "Deinstall" function now removes all 32 or 64 bits log keys for HKLM and HKCU.

2.1.2.0 - Aug 09, 2024
    Fixed a bug with output to the log file for filters developed before log version 2.1.0.0.

2.1.1.2 - Apr 12, 2023
    Fixed bug with interception of OutputDebugStringW function for Windows 7 64-bit.

2.1.1.1 - Apr 09, 2023
    Fixed bug in control sum container for DirectShow graphs.

2.1.1.0 - Apr 07, 2023
    Fixed interception of OutputDebugStringA/W functions in 64-bit version (jumps to another 4GB segment).
    Fixed disasm functions for 64-bit version.
    Fixed issue with closing log object.
    Removed repeated output to the log of an already written graph structure.

2.1.0.2 - Mar 13, 2023
    Fixed log file output about LoadLibraryA/ExA/W/ExW() calls.

2.1.0.1 - Dec 24, 2022
    Minor fixes in output information.

2.1.0.0 - Nov 24, 2022
    Many parts of the log object have been redesigned and rewritten
    Fixed bugs on release log object
    Added output to the log file from the OutputDebugStringA/W functions in the 64-bit version.

2.0.2.0 - Mar 20, 2020	
    Optimized search for the calling module to unwind the stack

2.0.1.0 - May 12, 2017
    The project was recompiled with VS2015, fixed compilation errors and warnings.

2.0.0.0 - Dec 02, 2015
    First public release
    Uploaded for download by the standard method

CONTACT INFORMATION
------------------------------------------------------------
You can find all the information you need at http://avobjects.com/
To ask a question about our products please contact us via sales@avobjects.com
For any issue related to product support please contact us via support@avobjects.com

ACKNOWLEDGEMENTS
------------------------------------------------------------
We would like to thank you for using our product and sincerely hope for a long and productive cooperation.
