|
|
#ifndef _EXCLUDES_H_
#define _EXCLUDES_H_
/*++
This file lists some of the APIs we need to exclude from the stack swapping system. It can be modified to include any API that uses no stack, or a that otherwise crashes.
Note that since the wildcards catch all exports, not just APIs, variable names need to be included in this list.
--*/
struct FNEXCLUDE { char *pszModule; // Module name
char *pszFnName; // Function name
}; FNEXCLUDE Excludes[] = { {"KERNEL32.DLL", "EnterCriticalSection"}, {"KERNEL32.DLL", "LeaveCriticalSection"}, {"KERNEL32.DLL", "InitializeCriticalSection"}, {"KERNEL32.DLL", "DeleteCriticalSection"}, {"KERNEL32.DLL", "HeapAlloc"}, {"KERNEL32.DLL", "HeapFree"}, {"KERNEL32.DLL", "HeapReAlloc"}, {"KERNEL32.DLL", "HeapSize"}, {"KERNEL32.DLL", "VirtualAlloc"}, {"KERNEL32.DLL", "VirtualAllocEx"}, {"KERNEL32.DLL", "VirtualBufferExceptionHandler"}, {"KERNEL32.DLL", "VirtualFree"}, {"KERNEL32.DLL", "VirtualFreeEx"}, {"KERNEL32.DLL", "VirtualLock"}, {"KERNEL32.DLL", "VirtualProtect"}, {"KERNEL32.DLL", "VirtualProtectEx"}, {"KERNEL32.DLL", "VirtualQuery"}, {"KERNEL32.DLL", "VirtualQueryEx"}, {"KERNEL32.DLL", "VirtualUnlock"}, {"KERNEL32.DLL", "WaitForSingleObject"}, {"KERNEL32.DLL", "WaitForSingleObjectEx"}, {"KERNEL32.DLL", "WaitForMultipleObjects"}, {"KERNEL32.DLL", "WaitForMultipleObjectsEx"}, {"KERNEL32.DLL", "LoadLibraryA"}, {"KERNEL32.DLL", "LoadLibraryExA"}, {"KERNEL32.DLL", "LoadLibraryExW"}, {"KERNEL32.DLL", "LoadLibraryW"}, {"KERNEL32.DLL", "GetProcessHeap"}, {"KERNEL32.DLL", "GetProcAddress"}, {"KERNEL32.DLL", "CreateThread"}, {"KERNEL32.DLL", "ExitThread"}, {"KERNEL32.DLL", "TerminateThread"},
{"USER32.DLL", "PostThreadMessageA"}, {"USER32.DLL", "PostThreadMessageW"},
{"GDI32.DLL", "XFORMOBJ_bApplyXform"}, {"GDI32.DLL", "XFORMOBJ_iGetXform"}, {"GDI32.DLL", "XLATEOBJ_cGetPalette"}, {"GDI32.DLL", "XLATEOBJ_hGetColorTransform"}, {"GDI32.DLL", "XLATEOBJ_iXlate"}, {"GDI32.DLL", "XLATEOBJ_piVector"}, {"GDI32.DLL", "STROBJ_bEnum"}, {"GDI32.DLL", "STROBJ_bEnumPositionsOnly"}, {"GDI32.DLL", "STROBJ_bGetAdvanceWidths"}, {"GDI32.DLL", "STROBJ_dwGetCodePage"}, {"GDI32.DLL", "STROBJ_vEnumStart"}, {"GDI32.DLL", "PATHOBJ_bEnum"}, {"GDI32.DLL", "PATHOBJ_bEnumClipLines"}, {"GDI32.DLL", "PATHOBJ_vEnumStart"}, {"GDI32.DLL", "PATHOBJ_vEnumStartClipLines"}, {"GDI32.DLL", "PATHOBJ_vGetBounds"}, {"GDI32.DLL", "BRUSHOBJ_hGetColorTransform"}, {"GDI32.DLL", "BRUSHOBJ_pvAllocRbrush"}, {"GDI32.DLL", "BRUSHOBJ_pvGetRbrush"}, {"GDI32.DLL", "BRUSHOBJ_ulGetBrushColor"}, {"GDI32.DLL", "HT_Get8BPPMaskPalette"}, {"GDI32.DLL", "HT_Get8BPPFormatPalette"}, {"GDI32.DLL", "cGetTTFFromFOT"}, {"GDI32.DLL", "bMakePathNameW"}, {"GDI32.DLL", "bInitSystemAndFontsDirectoriesW"}, {"GDI32.DLL", "FONTOBJ_vGetInfo"}, {"GDI32.DLL", "FONTOBJ_pxoGetXform"}, {"GDI32.DLL", "FONTOBJ_pvTrueTypeFontFile"}, {"GDI32.DLL", "FONTOBJ_pifi"}, {"GDI32.DLL", "FONTOBJ_pfdg"}, {"GDI32.DLL", "FONTOBJ_pQueryGlyphAttrs"}, {"GDI32.DLL", "FONTOBJ_cGetGlyphs"}, {"GDI32.DLL", "FONTOBJ_cGetAllGlyphHandles"}, {"GDI32.DLL", "SetSystemPaletteUse"} };
#endif //_EXCLUDES_H_/*++
|