我先在用 wm_driverCHANGE得到usb的 HANDLE hDevice
先请问高手,现在我需要维护一个LIST表来维护所有插上来的USB, 其中需提供删除功能。
我的想法是 通过捕获DBT_DEVICEREMOVECOMPLETE消息来 维护删除LIST中的信息, 要怎样的代码才能使USB删除,并发送
DBT_DEVICEREMOVECOMPLETE消息
万分感谢,在线等。
先请问高手,现在我需要维护一个LIST表来维护所有插上来的USB, 其中需提供删除功能。
我的想法是 通过捕获DBT_DEVICEREMOVECOMPLETE消息来 维护删除LIST中的信息, 要怎样的代码才能使USB删除,并发送
DBT_DEVICEREMOVECOMPLETE消息
万分感谢,在线等。
spPropChangeParams.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER);
spPropChangeParams.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE ;
spPropChangeParams.Scope = DICS_FLAG_GLOBAL ;
spPropChangeParams.HwProfile = 0; // current hardware profile
spPropChangeParams.StateChange = DICS_DISABLE if( !SetupDiSetClassInstallParams(hDevInfo, &spDevInfoData,
// note we pass spPropChangeParams as SP_CLASSINSTALL_HEADER
// but set the size as sizeof(SP_PROPCHANGE_PARAMS)
(SP_CLASSINSTALL_HEADER*)&spPropChangeParams, sizeof(SP_PROPCHANGE_PARAMS)) )
{
// handle error
}
else if(!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDevInfo, &spDevInfoData))
{
// handle error
}
else
{
// ok, show disable success dialog
// note, after that, the OS will post DBT_DEVICEREMOVECOMPLETE for the disabled device
}
或者有什么参数能作为多个USB设备的唯一标示, 并且在应用CM_Request_Device_Eject方法时能用的上。