Salut tout le monde,
J'ai un petit souci...
je voudrais reproduire le fonctionnement de joy.cpl, "module control panel" et donc lancer depuis une application standard la boite de dialogue "propriétés du contrôleur de jeu"...
à titre d'illustration
Pour cela je charge la dll "com server" associée au contrôleur avec l'api cocreateinstance() puis un appel queryinterface(). Ensuite je fais remplir les structures DIGCSHEETINFO et DIGCPAGEINFO par des appels aux fonctions membres getpageinfo() et getsheetinfo() de l'interface idigamecntrlpropsheet du module précédemment chargée. Avec ces structures, je peuple à nouveau deux autres structures, PROPSHEETHEADER et PROPSHEETPAGE (en fait un tableau de ce type) pour finir par un appel à l'api propertysheet(), tout se passe conformément aux attentes jusqu'à ce que le module en question (la dll com server) tente un appel à dinput8.dll, sauf que c'est pas possible, car le registre vaut 0 alors qu'il devrait "pointer" vers l'adresse d'une fonction de direct input me disait mon débogueur... j'ai dû oublier quelque chose en amont, mais je sais pas quoi... J'avais d'abord cru à un problème de zone ou segment d'adressage de PROPSHEETPAGE mais il n'en est rien.
Je pourrais en reprendre l'analyse seulement la semaine prochaine, mais là ça me turlupine quand même alors que je suis sur autre chose, ça provoque des interférences... Voilà, si ça vous parle...
Merci...
Partager