Application can not receive WM_DEVICECHANGE

  • Thread starter Thread starter john
  • Start date Start date
J

john

Hi There,

Is any one out there know under what situation an application will not be
able to receive WM_DEVICECHANGE?

I used an OmniVision Web cam demo board with driver. And I wrote an
application which is supposed to receive the WM_DEVICECHANGE message, but it
did not receive the message.

The RegisterDeviceNotificaiton has been called, like below:

DEV_BROADCAST_DEVICEINTERFACE filterData;
ZeroMemory(&filterData, sizeof(DEV_BROADCAST_DEVICEINTERFACE));
filterData.dbcc_reserved = 0;
filterData.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
filterData.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
filterData.dbcc_classguid = AM_KSCATEGORY_CAPTURE;
ghDevNotify = RegisterDeviceNotification(ghwnd, &filterData,
DEVICE_NOTIFY_WINDOW_HANDLE);

What bother me is, if I use another Web cam (UVC or DirectShow compliant),
it works!
But if I use OmniVision Web cam board, it does not work!
Could it be the OminVision driver problem?

Any help will be highly appreciated.
 
Back
Top