diff --git a/base/services/umpnpmgr/rpcserver.c b/base/services/umpnpmgr/rpcserver.c index 004eb659b01..1d14d978ab0 100644 --- a/base/services/umpnpmgr/rpcserver.c +++ b/base/services/umpnpmgr/rpcserver.c @@ -1803,6 +1803,7 @@ PNP_GetDeviceRegProp( case CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME: PlugPlayData.Property = PNP_PROPERTY_PHYSICAL_DEVICE_OBJECT_NAME; + *pulRegDataType = REG_SZ; break; case CM_DRP_CAPABILITIES: @@ -1823,18 +1824,22 @@ PNP_GetDeviceRegProp( case CM_DRP_BUSTYPEGUID: PlugPlayData.Property = PNP_PROPERTY_BUSTYPEGUID; + *pulRegDataType = REG_BINARY; break; case CM_DRP_LEGACYBUSTYPE: PlugPlayData.Property = PNP_PROPERTY_LEGACYBUSTYPE; + *pulRegDataType = REG_DWORD; break; case CM_DRP_BUSNUMBER: PlugPlayData.Property = PNP_PROPERTY_BUSNUMBER; + *pulRegDataType = REG_DWORD; break; case CM_DRP_ENUMERATOR_NAME: PlugPlayData.Property = PNP_PROPERTY_ENUMERATOR_NAME; + *pulRegDataType = REG_SZ; break; case CM_DRP_SECURITY: @@ -1855,6 +1860,7 @@ PNP_GetDeviceRegProp( case CM_DRP_ADDRESS: PlugPlayData.Property = PNP_PROPERTY_ADDRESS; + *pulRegDataType = REG_DWORD; break; case CM_DRP_UI_NUMBER_DESC_FORMAT: @@ -1863,33 +1869,40 @@ PNP_GetDeviceRegProp( case CM_DRP_DEVICE_POWER_DATA: PlugPlayData.Property = PNP_PROPERTY_POWER_DATA; + *pulRegDataType = REG_BINARY; break; case CM_DRP_REMOVAL_POLICY: PlugPlayData.Property = PNP_PROPERTY_REMOVAL_POLICY; + *pulRegDataType = REG_DWORD; break; case CM_DRP_REMOVAL_POLICY_HW_DEFAULT: PlugPlayData.Property = PNP_PROPERTY_REMOVAL_POLICY_HARDWARE_DEFAULT; + *pulRegDataType = REG_DWORD; break; case CM_DRP_REMOVAL_POLICY_OVERRIDE: lpValueName = L"RemovalPolicy"; + *pulRegDataType = REG_DWORD; break; case CM_DRP_INSTALL_STATE: PlugPlayData.Property = PNP_PROPERTY_INSTALL_STATE; + *pulRegDataType = REG_DWORD; break; #if (WINVER >= _WIN32_WINNT_WS03) case CM_DRP_LOCATION_PATHS: PlugPlayData.Property = PNP_PROPERTY_LOCATION_PATHS; + *pulRegDataType = REG_MULTI_SZ; break; #endif #if (WINVER >= _WIN32_WINNT_WIN7) case CM_DRP_BASE_CONTAINERID: PlugPlayData.Property = PNP_PROPERTY_CONTAINERID; + *pulRegDataType = REG_SZ; break; #endif @@ -3454,7 +3467,7 @@ PNP_QueryRemove( pszDeviceID); PlugPlayData.VetoName = pszVetoName; PlugPlayData.NameLength = ulNameLength; -// PlugPlayData.Flags = +// PlugPlayData.Flags = Status = NtPlugPlayControl(PlugPlayControlQueryAndRemoveDevice, &PlugPlayData, @@ -3502,7 +3515,7 @@ PNP_RequestDeviceEject( pszDeviceID); PlugPlayData.VetoName = pszVetoName; PlugPlayData.NameLength = ulNameLength; -// PlugPlayData.Flags = +// PlugPlayData.Flags = Status = NtPlugPlayControl(PlugPlayControlQueryAndRemoveDevice, &PlugPlayData,