Thanks. That's a good point. In Windows, GdipEnumerateMetafileSrcRectDestRectI is defined in gdiplusflat.h as :
GpStatus WINGDIPAPI
GdipEnumerateMetafileSrcRectDestRectI(
GpGraphics * graphics,
GDIPCONST GpMetafile * metafile,
GDIPCONST Rect & destRect,
GDIPCONST Rect & srcRect,
Unit srcUnit,
EnumerateMetafileProc callback,
VOID * callbackData,
GDIPCONST GpImageAttributes * imageAttributes);
it means the arguments normally cannot be null because the compiler would block.
We could call the function with null value of two arguments when we use GetProcAddress.
In that case, the program gets a crash in Windows. if a developer made a SEH block, the program should go to the exception handler.
So, I think we should not check for null pointers to make it work the same.