Author: ekohl Date: Sat May 28 19:08:20 2011 New Revision: 51982
URL: http://svn.reactos.org/svn/reactos?rev=51982&view=rev Log: [UMPNPMGR] Add support for missing properties to PNP_SetDeviceRegProp and fix a property issue in PNP_GetDeviceRegProp.
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] Sat May 28 19:08:20 2011 @@ -674,7 +674,7 @@ break;
case CM_DRP_REMOVAL_POLICY: - lpValueName = L"RemovalPolicy"; + lpValueName = NULL; break;
case CM_DRP_REMOVAL_POLICY_HW_DEFAULT: @@ -682,7 +682,7 @@ break;
case CM_DRP_REMOVAL_POLICY_OVERRIDE: - lpValueName = NULL; + lpValueName = L"RemovalPolicy"; break;
case CM_DRP_INSTALL_STATE: @@ -779,10 +779,17 @@ 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 @@ 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 @@ 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 @@ if (RegOpenKeyExW(hEnumKey, pDeviceId, 0, - KEY_ALL_ACCESS, /* FIXME: so much? */ + KEY_SET_VALUE, &hKey)) return CR_INVALID_DEVNODE;