Propriétaire d'un processus sous Windows
Bonjour,
Je cherche à obtenir le propriétaire d'un processus, en passant par l'api WMI sous windows.
J'ai cru comprendre qu'il fallait utiliser la fonction GetOwner
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Mais je n'arrive pas y avoir accès directement (une fonction oui mais sur quel objet ?)
Je suis donc passé par le serveur d'exécution via la fonction ExecMethod
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Et je suis finalement arrivé à avoir un code d'erreur qui existe dans la doc : WBEM_E_INVALID_METHOD_PARAMETERS
J'effectue ma connexion au serveur via le Namespace "ROOT\\CIMV2"
Puis je lance ma requête qui passe fonctionne sans problème :
Code:
1 2 3 4 5 6
|
hres = pSvc->ExecQuery(bstr_t("WQL"),
bstr_t("SELECT * FROM Win32_Process WHERE Name = \"bash.exe\""),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
pEnumerator); |
Et la c'est le drame :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
IWbemClassObject *classObj;
IWbemCallResult *callRes;
BSTR Text;
/* renvoie un code d'erreur non defini dans la doc : 0xc0000005*/
/* hr = pSvc->ExecMethod(_bstr_t(L"ROOT\\CIMV2"), L"GetOwner",
0, NULL, NULL,
&classObj, &callRes);*/
/* renvoie un code d'erreur WBEM_E_INVALID_METHOD_PARAMETERS */
hr = pSvc->ExecMethod(L"Win32_Process", L"GetOwnerSid",
0, NULL, NULL,
NULL, NULL); |
Et je commence un peu à être à cours d'idées à tester
Plate forme : Windows server 2003 R2
compilo : MVSC 2010
Je ne suis absolument pas un expert windows