我正在尝试通过WcmSetProperty接口设置wcm_global_property_minimize_policy。由于某些原因,调用返回错误87 (无效参数)。奇怪的是,我可以通过WcmQueryProperty成功地查询此策略。我试图在Windows8SDK中找到示例代码,但没有更改全局属性的示例。
有人能告诉我在下面的代码中我做错了什么吗?
void __cdecl main()
{
DWORD dwRetCode = NO_ERROR;
DWORD dwSize = 0;
WCM_POLICY_VALUE policyVal;
WCM_POLICY_VALUE *outVal;
/* Disable Minimize Connections */
policyVal.fIsGroupPolicy = false;
policyVal.fValue = false;
dwSize = sizeof(policyVal);
wprintf(L"Disabling global property - minimize connections... dwSize: %u\n", dwSize);
dwRetCode = WcmSetProperty(NULL, NULL, wcm_global_property_minimize_policy, NULL, dwSize, (PBYTE)&policyVal);
if (dwRetCode == ERROR_SUCCESS) {
wprintf(L"Disable global property minimize connections is success\n");
}
else {
wprintf(L"Disable global property minimize connections failed\n");
wprintf(L"Error code: %u\n", dwRetCode);
}
dwRetCode = WcmQueryProperty(NULL, NULL, wcm_global_property_minimize_policy, NULL, &dwSize, (PBYTE *)&outVal);
if ((dwRetCode == ERROR_SUCCESS) /*&& (p2Data != NULL)*/) {
wprintf(L"Global property minimize policy is: %d.%d with size %d\n", outVal->fIsGroupPolicy, outVal->fValue, dwSize);
}
else {
wprintf(L"Error in querying property - minimize policy \n");
wprintf(L"Error code: %u\n", dwRetCode);
}
}另外,如果我通过WcmSetProperty ()更改wcm_global_property_minimize_policy,是否需要重新启动系统才能使更改的设置生效?
谢谢!
发布于 2014-03-11 02:49:27
以下是一个MSDN论坛的回应:
“在调用WcmSetProperty时,文档指定存储在pbData中的数据类型应为WCM_POLICY_VALUE。
这似乎是文档中的一个错误。要设置wcm_global_property_minimize_policy,请将pbData设置为类型BOOL,调用应该会成功。“
https://stackoverflow.com/questions/21584214
复制相似问题