case WM_DEVICECHANGE:
{
DbgPrint(_T("WM_DEVICECHANGE/n"));
switch (wParam)
{
case DBT_DEVICEARRIVAL:
{
PDEV_BROADCAST_HDR pDBHdr = (PDEV_BROADCAST_HDR)lParam;
switch(pDBHdr->dbch_devicetype)
{
case DBT_DEVTYP_DEVICEINTERFACE:
{
PDEV_BROADCAST_DEVICEINTERFACE pDBInteface = (PDEV_BROADCAST_DEVICEINTERFACE)pDBHdr;
LPOLESTR pGuid = NULL;
StringFromCLSID(pDBInteface->dbcc_classguid,&pGuid);
DbgPrint(_T("DBT_DEVTYP_DEVICEINTERFACE,Device CLSID = %s,Device Name = %s/n"),pGuid,pDBInteface->dbcc_name);
CoTaskMemFree(pGuid);
break;
}
case DBT_DEVTYP_HANDLE:
{
PDEV_BROADCAST_HANDLE pDBHandler = (PDEV_BROADCAST_HANDLE)pDBHdr;
LPOLESTR pGuid = NULL;
StringFromCLSID(pDBHandler->dbch_eventguid,&pGuid);
DbgPrint(_T("DBT_DEVTYP_HANDLE,Device CLSID = %s/n"),pGuid);
CoTaskMemFree(pGuid);
break;
}
case DBT_DEVTYP_OEM:
DbgPrint( _T("DBT_DEVTYP_OEM!/n"));
break;
case DBT_DEVTYP_PORT:
{
PDEV_BROADCAST_PORT pDBPort = (PDEV_BROADCAST_PORT)pDBHdr;
DbgPrint(_T("DBT_DEVTYP_PORT = %s/n"),pDBPort->dbcp_name);
break;
}
case DBT_DEVTYP_VOLUME:
DbgPrint( _T("DBT_DEVTYP_VOLUME!/n"));
break;
}
break;
}
case DBT_DEVICEREMOVECOMPLETE:
{
PDEV_BROADCAST_HDR pDBHdr = (PDEV_BROADCAST_HDR)lParam;
switch(pDBHdr->dbch_devicetype)
{
case DBT_DEVTYP_DEVICEINTERFACE:
{
PDEV_BROADCAST_DEVICEINTERFACE pDBInteface = (PDEV_BROADCAST_DEVICEINTERFACE)pDBHdr;
LPOLESTR pGuid = NULL;
StringFromCLSID(pDBInteface->dbcc_classguid,&pGuid);
DbgPrint(_T("DBT_DEVICEREMOVECOMPLETE,Device CLSID = %s,Device Name = %s/n"),pGuid,pDBInteface->dbcc_name);
CoTaskMemFree(pGuid);
break;
}
case DBT_DEVTYP_HANDLE:
{
PDEV_BROADCAST_HANDLE pDBHandler = (PDEV_BROADCAST_HANDLE)pDBHdr;
LPOLESTR pGuid = NULL;
StringFromCLSID(pDBHandler->dbch_eventguid,&pGuid);
DbgPrint(_T("DBT_DEVTYP_HANDLE,Device CLSID = %s/n"),pGuid);
CoTaskMemFree(pGuid);
break;
}
case DBT_DEVTYP_OEM:
DbgPrint( _T("DBT_DEVTYP_OEM!/n"));
break;
case DBT_DEVTYP_PORT:
{
PDEV_BROADCAST_PORT pDBPort = (PDEV_BROADCAST_PORT)pDBHdr;
DbgPrint(_T("DBT_DEVTYP_PORT = %s/n"),pDBPort->dbcp_name);
break;
}
case DBT_DEVTYP_VOLUME:
DbgPrint( _T("DBT_DEVTYP_VOLUME!/n"));
break;
}
break;
}
}
return LRESULT(TRUE);
}
热插拔的设备的拔出与插入的响应
最新推荐文章于 2022-07-28 08:00:12 发布