From: Eric Kohl Date: Sat, 28 May 2011 19:08:20 +0000 (+0000) Subject: [UMPNPMGR] X-Git-Tag: backups/ros-amd64-bringup@60669^2~567 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=971a0b7b63234c7bc338c84a29c16f9116a2452e;hp=91ed75b1f7f259c691487117eb498e4f9bd2e94d [UMPNPMGR] Add support for missing properties to PNP_SetDeviceRegProp and fix a property issue in PNP_GetDeviceRegProp. svn path=/trunk/; revision=51982 --- diff --git a/reactos/base/services/umpnpmgr/umpnpmgr.c b/reactos/base/services/umpnpmgr/umpnpmgr.c index e8478e16f40..47049270caa 100644 --- a/reactos/base/services/umpnpmgr/umpnpmgr.c +++ b/reactos/base/services/umpnpmgr/umpnpmgr.c @@ -674,7 +674,7 @@ DWORD PNP_GetDeviceRegProp( break; case CM_DRP_REMOVAL_POLICY: - lpValueName = L"RemovalPolicy"; + lpValueName = NULL; break; case CM_DRP_REMOVAL_POLICY_HW_DEFAULT: @@ -682,7 +682,7 @@ DWORD PNP_GetDeviceRegProp( break; case CM_DRP_REMOVAL_POLICY_OVERRIDE: - lpValueName = NULL; + lpValueName = L"RemovalPolicy"; break; case CM_DRP_INSTALL_STATE: @@ -779,10 +779,17 @@ DWORD PNP_GetDeviceRegProp( break; #if 0 - /* These properties are not supported by IoGetDeviceProperty */ + /* FIXME: This property is not supported by IoGetDeviceProperty */ case CM_DRP_DEVICE_POWER_DATA: +#endif + + case CM_DRP_REMOVAL_POLICY: + PlugPlayData.Property = 0x12; // DevicePropertyRemovalPolicy + break; + +#if 0 + /* FIXME: This property is not supported by IoGetDeviceProperty */ case CM_DRP_REMOVAL_POLICY_HW_DEFAULT: - case CM_DRP_REMOVAL_POLICY_OVERRIDE: #endif case CM_DRP_INSTALL_STATE: @@ -790,7 +797,7 @@ DWORD PNP_GetDeviceRegProp( break; #if 0 - /* This property is not supported by IoGetDeviceProperty */ + /* FIXME: This property is not supported by IoGetDeviceProperty */ #if (WINVER >= _WIN32_WINNT_WS03) case CM_DRP_LOCATION_PATHS: #endif @@ -909,6 +916,30 @@ DWORD PNP_SetDeviceRegProp( lpValueName = L"LowerFilters"; break; + case CM_DRP_SECURITY: + lpValueName = L"Security"; + break; + + case CM_DRP_DEVTYPE: + lpValueName = L"DeviceType"; + break; + + case CM_DRP_EXCLUSIVE: + lpValueName = L"Exclusive"; + break; + + case CM_DRP_CHARACTERISTICS: + lpValueName = L"DeviceCharacteristics"; + break; + + case CM_DRP_UI_NUMBER_DESC_FORMAT: + lpValueName = L"UINumberDescFormat"; + break; + + case CM_DRP_REMOVAL_POLICY_OVERRIDE: + lpValueName = L"RemovalPolicy"; + break; + default: return CR_INVALID_PROPERTY; } @@ -918,7 +949,7 @@ DWORD PNP_SetDeviceRegProp( if (RegOpenKeyExW(hEnumKey, pDeviceId, 0, - KEY_ALL_ACCESS, /* FIXME: so much? */ + KEY_SET_VALUE, &hKey)) return CR_INVALID_DEVNODE;