@joncarlson: "I'm trying to use GDI+ and am getting a return value of 
Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Win32Error (a Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Status enumerated value). OK, fine, 
but that's not terribly descriptive. Can I somehow get the Win32 error 
that actually took place? When I call 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GetLastError() it returns 0 
(ERROR_SUCCESS).
How do I get at what the actual error was?? Thanks.
-Jon C."
    @joncarlson: "After some further investigation.....
On the original question, I'm not 100% certain, but it appears that 
888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GetLastError() immediately after a Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Win32Error is returned 
_should_ return the Win32 error. Is this correct? If so, then for 
reasons I can't explain it sometimes does not. On top of that, I'm 
having a failure with the Imag888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Save() function that is hard to debug 
given the lack of useful error information.
The problem I'm having is trying to save a .TIF file. Here is my code, 
which does not work with some .TIF files.
////////////////////////////////
void errcheck(Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Status s)
{
   if(s == Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Ok)
      return;
   if(s == Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Win32Error) {
      DWORD e = 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GetLastError();
      printf("Win32 error: %d\n",e);
   else
      printf("Gdiplus error: %d\n",s);
   exit(1);
}
void somefunc(LPCWSTR fnam)
{
   Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4itmap tif(fnam);
   errcheck(tif.GetLastStatus()); // all is well so far
   CLSID clsid;
   GetEncoderClsid(L"image/tiff",&clsid); // per sample in docs - 
works
   // this call fails when the input file is large
   errcheck(tif.Save(L"output.tif",&clsid,NULL));
}
///////////////////////////////
So the problem is that this doesn't work on some large .TIF files I 
have (the files of interest). When the input file is a large file (I 
have some ~45MB .TIF files that are 8 bit color (paletted) files, 
image data is uncompressed, approx 10980 x 4150 pixels), the 
tif.Save() call fails. If "output.tif" does not exist already, it 
fails with Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Win32Error and 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GetLastStatus() == 0 
(ERROR_SUCCESS). If "output.tif" does exist, it fails with 
Gdiplus888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Win32Error and 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GetLastStatus() == 183 
(ERROR_ALREADY_EXISTS).
However, this all works when the input file is a small file (the 
.Save() call succeeds and creates an acceptable .TIF file). I've 
tested small files of .BMP, .JPG, .TIF. By "small file", I have tested 
this on files well under 1MB, though I haven't made a big effort to 
generate substantially larger files to test other than the ones which 
don't work.
Any insight? Thanks.
-Jon C.
"Jon Carlson" <email_address> wrote in message 
news:uDCKkH%<email_address>
<quote>"
{'source': 'USENET', 'other_information': '{"reply_count": 1, "forum_name": "microsoft.public.platformsdk.gdi.20140225.mbox"}', 'file': 'data/output/usenet-microsoft.public.parquet'}