It appears that call returns information about what the display can do based on what it sent the PC during the DDC exchange. I have a case where there are 'non-published' configurations that the display can support. But ChangeDisplaySettings only allows settings that are advertised by the display through the ddc exchange. Jeremy
nonameseemstowork
Posts
-
ChangeDisplaySettings -
ChangeDisplaySettingsI have a rather unusual situation where the monitor needs to present video capabilities (via DDC) that are actually less than what it actually supports, causing Windows configuration utilities to present a subset of options. However, programatically I want to set video paramaters (resolution, refresh) to any of the actually supported configurations within the limits of the graphics card. So, is there a way to determine the graphics card's capabilities, and to set them even though the system does not think the active display can support them? It seems that ChangeDisplaySettings will not allows settings that were not claimed to be supported (through monitor ddc exchange). Thanks in advance!! Jeremy
-
WMI Put operationThanks -- I should have noticed the access-type. So, it seems that this stunning complicated wmi interface is just to get stuff. So, back to ChangeDisplaySettings. I'll post another question on that!! Jeremy
-
WMI Put operationI'm trying to set a parameter through WMI. I can read a value as follows: IEnumWbemClassObject* pEnumerator = NULL; hres = pSvc->ExecQuery( bstr_t("WQL"), bstr_t("SELECT * FROM CIM_VideoController"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); hr = pclsObj->Get(L"CurrentHorizontalResolution", 0, &vtProp, 0, 0); But when I try to do a set as follows: V_VT(&v) = VT_I4; V_I4(&v) = 1024; hr = pclsObj->Put(L"CurrentHorizontalResolution", 0, &v, VT_I4); I get an error return value of: 0x80041005 Any guidance woudd be appreciated! Jeremy