Next is my show jpg function:
void DisplayPic(byte* imageBuffer, CDC* pDc, int nSrcWidth, int nSrcHeight, int size)
{
IStream * pStream = NULL;
IPicture * pPicture = NULL;
HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, size);
LPVOID lpBuf = ::GlobalLock(hMem);
memcpy(lpBuf, (void*)imageBuffer, size);
::GlobalUnlock(hMem);
HRESULT hr = ::CreateStreamOnHGlobal(hMem, TRUE, &pStream);
ASSERT (SUCCEEDED(hr));
hr = ::OleLoadPicture(pStream, size, FALSE, IID_IPicture, (LPVOID *)&pPicture );
ASSERT(hr==S_OK);
pPicture->Render(pDc->m_hDC, 0, 0, nSrcWidth, nSrcHeight, 0, nSrcHeight, nSrcWidth, -nSrcHeight, NULL);
pPicture->Release();
GlobalFree(hMem);
}