void CVideo1::ShowImg(int IDC_PIC1, unsigned char* pData, unsigned int uiSize)
{
// SetDlgItemText(IDC_OUT, "正在绘图..");
::CoInitialize(NULL); // COM 初始化
HRESULT hr;
CDC *pDC =  GetDlgItem( IDC_PIC1 ) ->GetDC(); DWORD dwSize = uiSize;
HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, dwSize );
LPVOID lpBuf = ::GlobalLock( hMem );
memcpy(lpBuf,pData,uiSize); //这里出问题了
::GlobalUnlock( hMem );
IStream * pStream = NULL;
IPicture * pPicture = NULL;
// 由 HGLOBAL 得到 IStream,参数 TRUE 表示释放 IStream 的同时,释放内存
hr = ::CreateStreamOnHGlobal( hMem, TRUE, &pStream );
ASSERT ( SUCCEEDED(hr) );
hr = ::OleLoadPicture( pStream, dwSize, TRUE, IID_IPicture, ( LPVOID * )&pPicture );
ASSERT(hr==S_OK); long nWidth,nHeight; // 宽高,MM_HIMETRIC 模式,单位是0.01毫米
pPicture->get_Width( &nWidth ); // 宽
pPicture->get_Height( &nHeight ); // 高
////////按窗口尺寸显示////////
CRect rect;
GetDlgItem(IDC_PIC1) ->GetClientRect(&rect);
pPicture->Render(pDC->m_hDC,0,0,rect.Width(),rect.Height(), 0,nHeight,nWidth,-nHeight,NULL);
if ( pPicture ) pPicture->Release();// 释放 IPicture 指针
if ( pStream ) pStream->Release();  // 释放 IStream 指针,同时释放了 hMem
::GlobalFree(hMem);//释放 hMem ReleaseDC( pDC );
::CoUninitialize();
}VC异常