/*++ 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(AddProcessParametersFlags) 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(EmulateGetUIEffects) 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(GetVolumeInformationLie) DECLARE_SHIM(GlobalMemoryStatusLie) DECLARE_SHIM(GlobalMemoryStatusTrim) DECLARE_SHIM(HandleDBCSUserName) DECLARE_SHIM(HandleDBCSUserName2) DECLARE_SHIM(HandleEmptyAccessCheck) 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(IEUnHarden) 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(AddProcessParametersFlags) 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(EmulateGetUIEffects) 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(GetVolumeInformationLie) MULTISHIM_ENTRY(GlobalMemoryStatusLie) MULTISHIM_ENTRY(GlobalMemoryStatusTrim) MULTISHIM_ENTRY(HandleDBCSUserName) MULTISHIM_ENTRY(HandleDBCSUserName2) MULTISHIM_ENTRY(HandleEmptyAccessCheck) 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(IEUnHarden) 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()