vfw.h 库capSetVideoFormat使用问题

我用vs2010 用vfw.h库做了个USB摄像头采集图像的程序,调用capDlgVideoFormat(m_hCapWnd);对话框设置为YUY2图像格式后使用正常。

BITMAPINFOHEADER bi;
DWORD dwSize,dw;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = 320; 
bi.biHeight = 160; 
bi.biPlanes = 1;
bi.biBitCount = 24;
bi.biCompression = 844715353;//传说YUY2的格式代码
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 176;
bi.biYPelsPerMeter = 144;
bi.biClrUsed = 0;
bi.biClrImportant = 0;
dwSize = bi.biSize + ((bi.biBitCount > 8 || bi.biClrUsed) ? (bi.biClrUsed * sizeof(PALETTEENTRY)) : (2 ^ bi.biBitCount * sizeof(PALETTEENTRY)));
dw = capSetVideoFormat(m_hCapWnd, &bi, dwSize);

程序没有反应,请专家指点指点