кто может помочь, проблема асинхронных вызовов в WMI?
От:
Аноним
Дата:
08.07.04 11:19
Оценка:
день добрый.
есть код(приведе ниже)
нормально работает на Win XP и выдает ошибку WBEM_E_UNPARSABLE_QUERY на Win 2000 SP4.
причем написаное на VBS отрабатыват без всяких проблем.
может кто сталкивался и знает чем помочь?
буду благодарен за любые идеи
//любой из запросов срабатывает в ХР и выдает ошибку WBEM_E_UNPARSABLE_QUERY в 2000
hRes = spServices->ExecNotificationQueryAsync(_bstr_t(L"WQL"),
//L"SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='notepad.exe'",
//L"select * from __instancemodificationevent within 1 where TargetInstance isa 'Win32_Printer' and TargetInstance.PrinterStatus='4'",
//L"SELECT * FROM RegistryValueChangeEvent WHERE Hive='HKEY_LOCAL_MACHINE' AND KeyPath='SOFTWARE\test' AND ValueName='str1'",
0,
NULL,
__RPC_FAR pSynk);
switch (hRes)
{
case WBEM_E_ACCESS_DENIED: MessageBox("WBEM_E_ACCESS_DENIED"); break;
case WBEM_E_FAILED: MessageBox("WBEM_E_FAILED"); break;
case WBEM_E_INVALID_CLASS: MessageBox("WBEM_E_INVALID_CLASS"); break;
case WBEM_E_INVALID_PARAMETER: MessageBox("WBEM_E_INVALID_PARAMETER"); break;
case WBEM_E_INVALID_QUERY: MessageBox("WBEM_E_INVALID_QUERY"); break;
case WBEM_E_INVALID_QUERY_TYPE: MessageBox("WBEM_E_INVALID_QUERY_TYPE"); break;
case WBEM_E_OUT_OF_MEMORY: MessageBox("WBEM_E_OUT_OF_MEMORY"); break;
case WBEM_E_TRANSPORT_FAILURE: MessageBox("WBEM_E_TRANSPORT_FAILURE"); break;
case WBEM_E_SHUTTING_DOWN: MessageBox("WBEM_E_SHUTTING_DOWN"); break;
case WBEM_E_UNPARSABLE_QUERY: MessageBox("WBEM_E_UNPARSABLE_QUERY"); break;
case WBEM_S_NO_ERROR: MessageBox("WBEM_S_NO_ERROR"); break;
}