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

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_/*++