Author: ekohl Date: Sun Apr 9 08:51:03 2017 New Revision: 74289
URL: http://svn.reactos.org/svn/reactos?rev=74289&view=rev Log: [UMPNPMGR] Use SendMessageW() to broadcast WM_DEVICECHANGE messages because BroadcastSystemMessageW() does not seem to work.
Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c
Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/umpn... ============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Sun Apr 9 08:51:03 2017 @@ -3565,16 +3565,17 @@ } else if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_ARRIVAL, &RpcStatus)) { - DWORD dwRecipient; +// DWORD dwRecipient;
DPRINT("Device arrival: %S\n", PnpEvent->TargetDevice.DeviceIds);
- dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; - BroadcastSystemMessageW(BSF_POSTMESSAGE, - &dwRecipient, - WM_DEVICECHANGE, - DBT_DEVNODES_CHANGED, - 0); +// dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; +// BroadcastSystemMessageW(BSF_POSTMESSAGE, +// &dwRecipient, +// WM_DEVICECHANGE, +// DBT_DEVNODES_CHANGED, +// 0); + SendMessageW(HWND_BROADCAST, WM_DEVICECHANGE, DBT_DEVNODES_CHANGED, 0); } else if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_EJECT_VETOED, &RpcStatus)) { @@ -3586,29 +3587,31 @@ } else if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_SAFE_REMOVAL, &RpcStatus)) { - DWORD dwRecipient; +// DWORD dwRecipient;
DPRINT1("Safe removal: %S\n", PnpEvent->TargetDevice.DeviceIds);
- dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; - BroadcastSystemMessageW(BSF_POSTMESSAGE, - &dwRecipient, - WM_DEVICECHANGE, - DBT_DEVNODES_CHANGED, - 0); +// dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; +// BroadcastSystemMessageW(BSF_POSTMESSAGE, +// &dwRecipient, +// WM_DEVICECHANGE, +// DBT_DEVNODES_CHANGED, +// 0); + SendMessageW(HWND_BROADCAST, WM_DEVICECHANGE, DBT_DEVNODES_CHANGED, 0); } else if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_SURPRISE_REMOVAL, &RpcStatus)) { - DWORD dwRecipient; +// DWORD dwRecipient;
DPRINT1("Surprise removal: %S\n", PnpEvent->TargetDevice.DeviceIds);
- dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; - BroadcastSystemMessageW(BSF_POSTMESSAGE, - &dwRecipient, - WM_DEVICECHANGE, - DBT_DEVNODES_CHANGED, - 0); +// dwRecipient = BSM_ALLDESKTOPS | BSM_APPLICATIONS; +// BroadcastSystemMessageW(BSF_POSTMESSAGE, +// &dwRecipient, +// WM_DEVICECHANGE, +// DBT_DEVNODES_CHANGED, +// 0); + SendMessageW(HWND_BROADCAST, WM_DEVICECHANGE, DBT_DEVNODES_CHANGED, 0); } else if (UuidEqual(&PnpEvent->EventGuid, (UUID*)&GUID_DEVICE_REMOVAL_VETOED, &RpcStatus)) {