delphi:
function OnPreview(ph : pBITMAPINFOHEADER; buff : pbyte; userdata : pointer) : HRESULT; stdcall;
var
  f : TForm1;
begin
  f := TForm1(userdata);
  f.Canvas.Lock;
  StretchDIBits(f.Canvas.Handle, 0, 0, 640, 480, 0, 0, ph.biWidth, ph.biHeight, buff, pBITMAPINFO(ph)^, DIB_RGB_COLORS, SRCCOPY);
  f.Canvas.Unlock;
  Result := 1;
end;vc:(小弟菜的,有错误)
HRESULT CALLBACK OnPreview(BITMAPINFOHEADER* ph, BYTE* buff, void* userdata)
{
CSampleVCDlg sample((CWnd*)userdata);
HRESULT hr;
hr=StretchDIBits(sample.GetDC()->m_hDC,0, 0, 640, 480, 0, 0, ph->biWidth, 
ph->biHeight,buff,(BITMAPINFO *)ph,DIB_RGB_COLORS, SRCCOPY);
return hr;
}高人help