96 lines
3.3 KiB
C
96 lines
3.3 KiB
C
|
#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_/*++
|