return FALSE; } imImage->Save(pStmImage, &clJpgClsid); if (pStmImage == NULL) { pStmBmp->Release(); pStmImage>Release(); GlobalUnlock(hMemBmp); GlobalFree(hMemBmp); GlobalFree(hMemImage; if (imImage != NULL) delete imImage; return FALSE; } LARGE_INTEGER liBegin = {0}; pStmImage->Seek(liBegin, STREAM_SEEK_SET, NULL); BYTE* pbyImage = (BYTE *)GlobalLock(hMemImage); cbfImage.SeekToBegin(); cbfImage.Write(pbyImage, GlobalSize(hMemImage)); if (imImage != NULL) delete imImage; pStmBmp->Release(); pStmImage->Release(); GlobalUnlock(hMemBmp); GlobalUnlock(hMemImage); GlobalFree(hMemBmp); GlobalFree(hMemImage); return TRUE; } |