Bonjour à tous,
J'utilise les fonctions WMI avec succès dans un programme. Tout se passe bien, ma syntaxe est bonne, et les résultats corrects.
J'ai besoin de suivre tout le cycle de vie de périphériques USB, depuis leur insertion jusqu'à leur éjection. Comme on peut avoir plusieurs périphériques USB en même temps, j'ai cherché à rendre l'exécution parallèle et j'ai intégré un système de multithread basé sur l'api CreateThread de kernel32.dll
Depuis ce thread, plein de trucs fonctionnent. Faire et utiliser des variables, afficher des boites MsgBox... Plein de trucs dont je ne me servirai pas fonctionnent sans doute. Mais, car il y a un mais. Mais la fonction ObjGet ne semble pas super épanouie dans un thread créé de cette manière. Bim, elle me claque une erreur 800401E4. Et sans ObjGet, au revoir WMI.
J'ai tenté de créer l'objet pour l'accès au WMI dans la partie principale du programme et de le mettre en variable globale. Mais les appels à ExecQuery ne sont pas possibles.
A l'aide !
Est-ce que j'ai raté une information sur ObjGet ? Est-ce que cette fonction est réputée capricieuse ? Est-ce que la programmation threadée ne supporte pas certaines fonctions ?
[..] WMI + threads : Erreur sur ObjGet
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] WMI + threads : Erreur sur ObjGet
L'erreur est de penser qu'un script AutoIt puisse être multithreaded. Certes on peut faire fonctionner quelques bouts de code mais il y aura toujours des multitudes de situations qui provoqueront des erreurs ou des désastres.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] WMI + threads : Erreur sur ObjGet
Merci. J'ai arrêté de chercher de ce côté là. J'ai trouvé mon bonheur avec AdlibRegister : j'ai mis en place une fonction qui surveille l'arrivée des périphériques USB et fait les vérification, et une seconde fonction en charge de l'affichage des messages demandées par la première fonction. Plus de blocage, plus de plantage -> joie !
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] WMI + threads : Erreur sur ObjGet
Ce sera incomparablement plus robuste, à coup sûr.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.

