タスクスケジューラのリストをWMIで取得したいのですが、以下のコードを実行してもwhileのループに入りません。(whileまでは到達しています)
調べたところWin32_ScheduledJobのセレクトで取得できると思うのですが・・・・
ご存知の方がいましたら教えていただけないでしょうか? よろしくお願いいたします。
BSTR bstrNamespace = (L"root\\cimv2");
if (CoCreateInstance (CLSID_WbemLocator,NULL ,CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER ,IID_IUnknown ,( void ** ) & pIWbemLocator) != S_OK) {
return false;
}
if (pIWbemLocator->ConnectServer(bstrNamespace, NULL, NULL, NULL, 0,NULL, NULL,&pWbemServices) != S_OK) {
return false;
}
HRESULT hRes;
BSTR strQuery = (L"Select * from Win32_ScheduledJob");
BSTR strQL = (L"WQL");
hRes = pWbemServices->ExecQuery(strQL, strQuery,WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumObject);
if (hRes != S_OK) {
return false;
}
hRes = pEnumObject->Reset();
if (hRes != S_OK) {
return false;
}
ULONG uCount = 1, uReturned;
IWbemClassObject* pClassObject = NULL;
while(pEnumObject->Next(WBEM_INFINITE,uCount, &pClassObject, &uReturned) == S_OK) {
//ここにこない?
}