windows-nt/Source/XPSP1/NT/windows/appcompat/shims/general/main.cpp
2020-09-26 16:20:57 +08:00

289 lines
9.3 KiB
C++

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
Main.cpp
Abstract:
Notes:
History:
15/11/2000 clupu Created
11/30/2000 a-brienw modified for beginning of misc shim
--*/
#include "precomp.h"
#include "ShimHookMacro.h"
DECLARE_SHIM(AliasDXDC)
DECLARE_SHIM(CorrectACMArgs)
DECLARE_SHIM(CorrectACMStreamOpen)
DECLARE_SHIM(CorrectActiveMoviePath)
DECLARE_SHIM(CorrectCreateIcon)
DECLARE_SHIM(CorrectCreateSurface)
DECLARE_SHIM(CorrectFarEastFont)
DECLARE_SHIM(CorrectFilePathInSetDlgItemText)
DECLARE_SHIM(CorrectFilePathsUninstall)
DECLARE_SHIM(CorrectOpenFileExclusive)
DECLARE_SHIM(CorrectVerInstallFile)
DECLARE_SHIM(CUASAppFix)
DECLARE_SHIM(CUASDisableCicero)
DECLARE_SHIM(DelayDllInit)
DECLARE_SHIM(DelayShowGroup)
DECLARE_SHIM(DelayWin95VersionLie)
DECLARE_SHIM(DelayWinMMCallback)
DECLARE_SHIM(DeleteSpecifiedFiles)
DECLARE_SHIM(DeRandomizeExeName)
DECLARE_SHIM(DisableBoostThread)
DECLARE_SHIM(DisableFilterKeys)
DECLARE_SHIM(DisableScreenSaver)
DECLARE_SHIM(DisableStickyKeys)
#ifndef SHIM_WIN2K
DECLARE_SHIM(DisableThemes)
#endif // SHIM_WIN2K
DECLARE_SHIM(DisableW2KOwnerDrawButtonStates)
DECLARE_SHIM(EmptyClipboardtoSet)
DECLARE_SHIM(EmulateGetStdHandle)
DECLARE_SHIM(EmulateGetStringType)
DECLARE_SHIM(EmulateLZHandles)
DECLARE_SHIM(EnlargeGetObjectBufferSize)
DECLARE_SHIM(ExtractAssociatedIcon)
DECLARE_SHIM(FailCloseProfileUserMapping)
DECLARE_SHIM(FailGetStdHandle)
DECLARE_SHIM(FailObsoleteShellAPIs)
DECLARE_SHIM(FailOpenFile)
DECLARE_SHIM(FakeThemeMetrics)
DECLARE_SHIM(FilterNetworkResources)
DECLARE_SHIM(FixServiceStartupCircularDependency)
DECLARE_SHIM(Force640x480x8)
DECLARE_SHIM(Force640x480x16)
DECLARE_SHIM(ForceAdminAccess)
DECLARE_SHIM(ForceAnsiWindowProc)
DECLARE_SHIM(ForceAppendMenuSuccess)
DECLARE_SHIM(ForceApplicationFocus)
DECLARE_SHIM(ForceAVIWindow)
DECLARE_SHIM(ForceDefaultSystemPaletteEntries)
DECLARE_SHIM(ForceDirectDrawEmulation)
DECLARE_SHIM(ForceDirectDrawWait)
DECLARE_SHIM(ForceDisplayMode)
DECLARE_SHIM(ForceSeparateVDM)
DECLARE_SHIM(ForceSimpleWindow)
DECLARE_SHIM(ForceTemporaryModeChange)
DECLARE_SHIM(ForceWorkingDirectoryToEXEPath)
DECLARE_SHIM(FUSBadApplicationType1)
DECLARE_SHIM(FUSBadApplicationType2)
DECLARE_SHIM(FUSBadApplicationType3)
DECLARE_SHIM(FUSBadApplicationType4)
DECLARE_SHIM(GlobalMemoryStatusLie)
DECLARE_SHIM(HandleDBCSUserName)
DECLARE_SHIM(HandleDBCSUserName2)
DECLARE_SHIM(HeapClearAllocation)
DECLARE_SHIM(HeapDelayLocalFree)
DECLARE_SHIM(HeapForceGrowable)
DECLARE_SHIM(HeapIgnoreMoveable)
DECLARE_SHIM(HeapLookasideFree)
DECLARE_SHIM(HeapPadAllocation)
DECLARE_SHIM(HeapValidateFrees)
DECLARE_SHIM(HideCursor)
DECLARE_SHIM(HideTaskBar)
DECLARE_SHIM(IgnoreAltTab)
DECLARE_SHIM(IgnoreCoCreateInstance)
DECLARE_SHIM(IgnoreCRTExit)
DECLARE_SHIM(IgnoreDebugOutput)
DECLARE_SHIM(IgnoreFreeLibrary)
DECLARE_SHIM(IgnoreHungAppPaint)
DECLARE_SHIM(IgnoreMCIStop)
DECLARE_SHIM(IgnoreMessageBox)
DECLARE_SHIM(IgnoreNoModeChange)
DECLARE_SHIM(IgnoreOemToChar)
DECLARE_SHIM(IgnoreSysColChanges)
DECLARE_SHIM(IgnoreTAPIDisconnect)
DECLARE_SHIM(IgnoreVBOverflow)
DECLARE_SHIM(IgnoreZeroMoveWindow)
DECLARE_SHIM(InjectDll)
DECLARE_SHIM(KeepWindowOnMonitor)
DECLARE_SHIM(LazyReleaseDC)
DECLARE_SHIM(LimitFindFile)
DECLARE_SHIM(LoadComctl32Version5)
DECLARE_SHIM(LoadLibraryCWD)
DECLARE_SHIM(LowerThreadPriority)
DECLARE_SHIM(MoveIniToRegistry)
DECLARE_SHIM(MoveWinInitRenameToReg)
DECLARE_SHIM(NullHwndInMessageBox)
DECLARE_SHIM(PaletteRestore)
DECLARE_SHIM(PopulateDefaultHKCUSettings)
DECLARE_SHIM(PropagateProcessHistory)
DECLARE_SHIM(RecopyExeFromCD)
DECLARE_SHIM(RedirectDBCSTempPath)
DECLARE_SHIM(RedirectEXE)
DECLARE_SHIM(RedirectWindowsDirToSystem32)
DECLARE_SHIM(RemoveBroadcastPostMessage)
DECLARE_SHIM(RemoveDDEFlagFromShellExecuteEx)
DECLARE_SHIM(RemoveInvalidW2KWindowStyles)
DECLARE_SHIM(RemoveIpFromMsInfoCommandLine)
DECLARE_SHIM(RemoveNoBufferingFlagFromCreateFile)
DECLARE_SHIM(RemoveOverlappedFlagFromCreateFile)
DECLARE_SHIM(RemoveReadOnlyAttribute)
DECLARE_SHIM(RestoreSystemCursors)
DECLARE_SHIM(SearchPathInAppPaths)
DECLARE_SHIM(SetEnvironmentVariable)
DECLARE_SHIM(StackSwap)
DECLARE_SHIM(TerminateExe)
DECLARE_SHIM(TrimVersionInfo)
DECLARE_SHIM(UnMirrorImageList)
DECLARE_SHIM(WaveOutUsePreferredDevice)
DECLARE_SHIM(WinG32SysToSys32)
VOID MULTISHIM_NOTIFY_FUNCTION()(DWORD fdwReason)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
DPF("AcGenral", eDbgLevelSpew, "General Purpose Shims initialized.");
break;
case DLL_PROCESS_DETACH:
DPF("AcGenral", eDbgLevelSpew, "General Purpose Shims uninitialized.");
break;
default:
break;
}
}
MULTISHIM_BEGIN()
MULTISHIM_ENTRY(AliasDXDC)
MULTISHIM_ENTRY(CorrectACMArgs)
MULTISHIM_ENTRY(CorrectACMStreamOpen)
MULTISHIM_ENTRY(CorrectActiveMoviePath)
MULTISHIM_ENTRY(CorrectCreateIcon)
MULTISHIM_ENTRY(CorrectCreateSurface)
MULTISHIM_ENTRY(CorrectFarEastFont)
MULTISHIM_ENTRY(CorrectFilePathInSetDlgItemText)
MULTISHIM_ENTRY(CorrectFilePathsUninstall)
MULTISHIM_ENTRY(CorrectOpenFileExclusive)
MULTISHIM_ENTRY(CorrectVerInstallFile)
MULTISHIM_ENTRY(CUASAppFix)
MULTISHIM_ENTRY(CUASDisableCicero)
MULTISHIM_ENTRY(DelayDllInit)
MULTISHIM_ENTRY(DelayShowGroup)
MULTISHIM_ENTRY(DelayWin95VersionLie)
MULTISHIM_ENTRY(DelayWinMMCallback)
MULTISHIM_ENTRY(DeleteSpecifiedFiles)
MULTISHIM_ENTRY(DeRandomizeExeName)
MULTISHIM_ENTRY(DisableBoostThread)
MULTISHIM_ENTRY(DisableFilterKeys)
MULTISHIM_ENTRY(DisableScreenSaver)
MULTISHIM_ENTRY(DisableStickyKeys)
#ifndef SHIM_WIN2K
MULTISHIM_ENTRY(DisableThemes)
#endif // SHIM_WIN2K
MULTISHIM_ENTRY(DisableW2KOwnerDrawButtonStates)
MULTISHIM_ENTRY(EmptyClipboardtoSet)
MULTISHIM_ENTRY(EmulateGetStdHandle)
MULTISHIM_ENTRY(EmulateGetStringType)
MULTISHIM_ENTRY(EmulateLZHandles)
MULTISHIM_ENTRY(EnlargeGetObjectBufferSize)
MULTISHIM_ENTRY(ExtractAssociatedIcon)
MULTISHIM_ENTRY(FailCloseProfileUserMapping)
MULTISHIM_ENTRY(FailGetStdHandle)
MULTISHIM_ENTRY(FailObsoleteShellAPIs)
MULTISHIM_ENTRY(FailOpenFile)
MULTISHIM_ENTRY(FakeThemeMetrics)
MULTISHIM_ENTRY(FilterNetworkResources)
MULTISHIM_ENTRY(FixServiceStartupCircularDependency)
MULTISHIM_ENTRY(Force640x480x8)
MULTISHIM_ENTRY(Force640x480x16)
MULTISHIM_ENTRY(ForceAdminAccess)
MULTISHIM_ENTRY(ForceAnsiWindowProc)
MULTISHIM_ENTRY(ForceAppendMenuSuccess)
MULTISHIM_ENTRY(ForceApplicationFocus)
MULTISHIM_ENTRY(ForceAVIWindow)
MULTISHIM_ENTRY(ForceDefaultSystemPaletteEntries)
MULTISHIM_ENTRY(ForceDirectDrawEmulation)
MULTISHIM_ENTRY(ForceDirectDrawWait)
MULTISHIM_ENTRY(ForceDisplayMode)
MULTISHIM_ENTRY(ForceSeparateVDM)
MULTISHIM_ENTRY(ForceSimpleWindow)
MULTISHIM_ENTRY(ForceTemporaryModeChange)
MULTISHIM_ENTRY(ForceWorkingDirectoryToEXEPath)
MULTISHIM_ENTRY(FUSBadApplicationType1)
MULTISHIM_ENTRY(FUSBadApplicationType2)
MULTISHIM_ENTRY(FUSBadApplicationType3)
MULTISHIM_ENTRY(FUSBadApplicationType4)
MULTISHIM_ENTRY(GlobalMemoryStatusLie)
MULTISHIM_ENTRY(HandleDBCSUserName)
MULTISHIM_ENTRY(HandleDBCSUserName2)
MULTISHIM_ENTRY(HeapClearAllocation)
MULTISHIM_ENTRY(HeapDelayLocalFree)
MULTISHIM_ENTRY(HeapForceGrowable)
MULTISHIM_ENTRY(HeapIgnoreMoveable)
MULTISHIM_ENTRY(HeapLookasideFree)
MULTISHIM_ENTRY(HeapPadAllocation)
MULTISHIM_ENTRY(HeapValidateFrees)
MULTISHIM_ENTRY(HideCursor)
MULTISHIM_ENTRY(HideTaskBar)
MULTISHIM_ENTRY(IgnoreAltTab)
MULTISHIM_ENTRY(IgnoreCoCreateInstance)
MULTISHIM_ENTRY(IgnoreCRTExit)
MULTISHIM_ENTRY(IgnoreDebugOutput)
MULTISHIM_ENTRY(IgnoreFreeLibrary)
MULTISHIM_ENTRY(IgnoreHungAppPaint)
MULTISHIM_ENTRY(IgnoreMCIStop)
MULTISHIM_ENTRY(IgnoreMessageBox)
MULTISHIM_ENTRY(IgnoreNoModeChange)
MULTISHIM_ENTRY(IgnoreOemToChar)
MULTISHIM_ENTRY(IgnoreSysColChanges)
MULTISHIM_ENTRY(IgnoreTAPIDisconnect)
MULTISHIM_ENTRY(IgnoreVBOverflow)
MULTISHIM_ENTRY(IgnoreZeroMoveWindow)
MULTISHIM_ENTRY(InjectDll)
MULTISHIM_ENTRY(KeepWindowOnMonitor)
MULTISHIM_ENTRY(LazyReleaseDC)
MULTISHIM_ENTRY(LimitFindFile)
MULTISHIM_ENTRY(LoadComctl32Version5)
MULTISHIM_ENTRY(LoadLibraryCWD)
MULTISHIM_ENTRY(LowerThreadPriority)
MULTISHIM_ENTRY(MoveIniToRegistry)
MULTISHIM_ENTRY(MoveWinInitRenameToReg)
MULTISHIM_ENTRY(NullHwndInMessageBox)
MULTISHIM_ENTRY(PaletteRestore)
MULTISHIM_ENTRY(PopulateDefaultHKCUSettings)
MULTISHIM_ENTRY(PropagateProcessHistory)
MULTISHIM_ENTRY(RecopyExeFromCD)
MULTISHIM_ENTRY(RedirectDBCSTempPath)
MULTISHIM_ENTRY(RedirectEXE)
MULTISHIM_ENTRY(RedirectWindowsDirToSystem32)
MULTISHIM_ENTRY(RemoveBroadcastPostMessage)
MULTISHIM_ENTRY(RemoveDDEFlagFromShellExecuteEx)
MULTISHIM_ENTRY(RemoveInvalidW2KWindowStyles)
MULTISHIM_ENTRY(RemoveIpFromMsInfoCommandLine)
MULTISHIM_ENTRY(RemoveNoBufferingFlagFromCreateFile)
MULTISHIM_ENTRY(RemoveOverlappedFlagFromCreateFile)
MULTISHIM_ENTRY(RemoveReadOnlyAttribute)
MULTISHIM_ENTRY(RestoreSystemCursors)
MULTISHIM_ENTRY(SearchPathInAppPaths)
MULTISHIM_ENTRY(SetEnvironmentVariable)
MULTISHIM_ENTRY(StackSwap)
MULTISHIM_ENTRY(TerminateExe)
MULTISHIM_ENTRY(TrimVersionInfo)
MULTISHIM_ENTRY(UnMirrorImageList)
MULTISHIM_ENTRY(WaveOutUsePreferredDevice)
MULTISHIM_ENTRY(WinG32SysToSys32)
CALL_MULTISHIM_NOTIFY_FUNCTION()
MULTISHIM_END()