<div dir="ltr"><div dir="ltr">I fixed my prototype and made the first call succeed. <div><br></div><div>#include <windows.h><br>#include <iostream><br><br>#include <gdiplusenums.h><br>#include <gdiplustypes.h><br><br>#include <gdiplusgpstubs.h><br>#include <gdiplusmetaheader.h><br><br>#include <gdipluspixelformats.h><br>#include <gdipluscolor.h><br>#include <gdipluscolormatrix.h><br>#include <gdiplusimaging.h><br>struct IDirectDrawSurface7;<br>#include <gdiplusflat.h><br><br>#pragma comment(lib,"gdiplus")<br><br>typedef  GpStatus <br>(WINGDIPAPI *pfnGdipEnumerateMetafileSrcRectDestRectI)(<br>   GpGraphics* graphics,<br> GDIPCONST GpMetafile* metafile,<br>       GDIPCONST Rect* destRect,<br>     GDIPCONST Rect* srcRect,<br>      Unit                    srcUnit,<br>    EnumerateMetafileProc   callback,<br>    VOID* callbackData,<br>   GDIPCONST GpImageAttributes* imageAttributes<br>  );<br><br>int main()<br>{<br><br> Rect s{}, d{};<br>        auto m = LoadLibraryA("gdiplus.dll");<br>       pfnGdipEnumerateMetafileSrcRectDestRectI pfunc = (pfnGdipEnumerateMetafileSrcRectDestRectI)GetProcAddress(m, "GdipEnumerateMetafileSrcRectDestRectI");<br>      __try {<br>               pfunc(0, 0, &s, &d, UnitDisplay, 0, 0, 0);<br>            printf("ok\n");<br>             pfunc(0, 0, 0, 0, UnitDisplay, 0, 0, 0);<br>              printf("ok\n");<br>     }<br>     __except (EXCEPTION_EXECUTE_HANDLER)<br>  {<br>             printf("Executing SEH __except block\r\n");<br> }<br>     system("pause");<br><div>}</div></div><div><br></div><div>And the result is printed as below : </div><div><br></div><div>ok<br>Executing SEH __except block<br></div><div><br></div><div><br></div><div>Thanks. </div><div><br></div></div></div>