You can find the result with below simple code : #include <windows.h> #include <iostream> #include <gdiplusenums.h> #include <gdiplustypes.h> #include <gdiplusgpstubs.h> #include <gdiplusmetaheader.h> #include <gdipluspixelformats.h> #include <gdipluscolor.h> #include <gdipluscolormatrix.h> #include <gdiplusimaging.h> struct IDirectDrawSurface7; #include <gdiplusflat.h> #pragma comment(lib,"gdiplus") typedef GpStatus (*pfnGdipEnumerateMetafileSrcRectDestRectI)( GpGraphics* graphics, GDIPCONST GpMetafile* metafile, GDIPCONST Rect* destRect, GDIPCONST Rect* srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID* callbackData, GDIPCONST GpImageAttributes* imageAttributes ); int main() { pfnGdipEnumerateMetafileSrcRectDestRectI pfunc = (pfnGdipEnumerateMetafileSrcRectDestRectI)GetProcAddress(GetModuleHandleA("gdiplus"), "GdipEnumerateMetafileSrcRectDestRectI"); __try { pfunc(0, 0, 0, 0, UnitDisplay, 0, 0, 0); printf("ok\n"); } __except (EXCEPTION_EXECUTE_HANDLER) { printf("Executing SEH __except block\r\n"); } system("pause"); return 0; } I have tested in win7, win10 and the program goes to the exception handler in both environments. Thanks.