[..] Aide sur DLLCALL
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.
[..] Aide sur DLLCALL
Bonjour, merci par avance pour vos aides.
Après quelques heures à essayer de m'en sortir comme un grand, je fais appel à vos compétences.
J'essaie d'écrire un script, dans le cadre de mon stage, qui fait appel à une dll afin de renseigné un log et une base de donnée (glpi).
Donc, j'ai une dll, apisso32.dll, et un paramètre SSO_getParam. Si j'ai bien compris je dois envoyé en paramètre d'entrée la valeur "E" afin de récupérer une information précise dans cette dll. Après un nombre incalculable d'essai, qui ce solde tous par un message d'erreur du type 'la mémoire 0x000000 ne peu être "read"', je me rend compte que je n'ai pas compris le fonctionnement de cette fonction (pourtant après avoir étudier l'aide autoit et une aide sur internet).
Encore merci,
Bonne journée.
Après quelques heures à essayer de m'en sortir comme un grand, je fais appel à vos compétences.
J'essaie d'écrire un script, dans le cadre de mon stage, qui fait appel à une dll afin de renseigné un log et une base de donnée (glpi).
Donc, j'ai une dll, apisso32.dll, et un paramètre SSO_getParam. Si j'ai bien compris je dois envoyé en paramètre d'entrée la valeur "E" afin de récupérer une information précise dans cette dll. Après un nombre incalculable d'essai, qui ce solde tous par un message d'erreur du type 'la mémoire 0x000000 ne peu être "read"', je me rend compte que je n'ai pas compris le fonctionnement de cette fonction (pourtant après avoir étudier l'aide autoit et une aide sur internet).
Encore merci,
Bonne journée.
- 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: [..] Aide sur DLLCALL
Sans une base de code, sans une description précise des fonctions de la DLL ?
Ca va pas le faire...
Ca va pas le faire...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] Aide sur DLLCALL
La dll récupère des informations sur le système. Plus précisément le getParam (avec E) permet de récupérer le numéro d'utilisateur.
Je n'en sais guère plus ... surtout que je viens de me rendre compte qu'il y à un deuxième paramètre à renseigner et que je n'ai pas la moindre idée de quoi il s'agit.
J'ai donc deux entrée : référence du paramètre (E) et services (???) pour un de sorti : la valeur du paramètre.
Je fournirai plus de précisions quand et si je les ai.
Pour le code, je veux bien montrer ce que j'ai fais, mais çà na pas d’intérêt car je ne comprend pas ce que je fais.
Bref, Merci quand même, je crois que je vais abandonner ...
Je n'en sais guère plus ... surtout que je viens de me rendre compte qu'il y à un deuxième paramètre à renseigner et que je n'ai pas la moindre idée de quoi il s'agit.
J'ai donc deux entrée : référence du paramètre (E) et services (???) pour un de sorti : la valeur du paramètre.
Je fournirai plus de précisions quand et si je les ai.
Pour le code, je veux bien montrer ce que j'ai fais, mais çà na pas d’intérêt car je ne comprend pas ce que je fais.
Code : Tout sélectionner
DllOpen("apisso32.dll")
$dll = DllCall("apisso32.dll", "dword", "SSO_getParam" ,"dword*","E")
DllClose("apisso32.dll")
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..] Aide sur DLLCALL
Bonjour
Pour exploiter une DLL, j'utilise objcreate ( en tout cas, perso, je ne sais faire que comme ça
)
exemples:
$oMD5 = ObjCreate("XStandard.MD5") ;"ActiveX MD5 Hash/CheckSum ( MD5.dll )
autre exemple:
; appel à DSOFILE.Dll (doit etre enregistré sur le PC avec regsvr32 )
$objPropertyReader=ObjCreate("DSOFile.OleDocumentProperties")
Après, tu utilises la variable qui stocke l'objet pour utiliser ta DLL.
exemple:
$TEST=$objPropertyReader.open($REPERTOIRE & "\" & $FICHIER)
$TITLE=$objPropertyReader.SummaryProperties.Title
mais là, ça dépend complètement de ta DLL....
Par contre, tu noteras que dans mes exemples, le nom d'appel de l'objet n'a pas de lien avec le nom de fichier de la DLL : XStandard.MD5 <> MD5.dll
C'est pour ça qu'il te faut la documentation sur ta DLL
Pour exploiter une DLL, j'utilise objcreate ( en tout cas, perso, je ne sais faire que comme ça
exemples:
$oMD5 = ObjCreate("XStandard.MD5") ;"ActiveX MD5 Hash/CheckSum ( MD5.dll )
autre exemple:
; appel à DSOFILE.Dll (doit etre enregistré sur le PC avec regsvr32 )
$objPropertyReader=ObjCreate("DSOFile.OleDocumentProperties")
Après, tu utilises la variable qui stocke l'objet pour utiliser ta DLL.
exemple:
$TEST=$objPropertyReader.open($REPERTOIRE & "\" & $FICHIER)
$TITLE=$objPropertyReader.SummaryProperties.Title
mais là, ça dépend complètement de ta DLL....
Par contre, tu noteras que dans mes exemples, le nom d'appel de l'objet n'a pas de lien avec le nom de fichier de la DLL : XStandard.MD5 <> MD5.dll
C'est pour ça qu'il te faut la documentation sur ta DLL
Re: [..] Aide sur DLLCALL
Merci sksbir pour ta réponse, je ne vais pas passer par 4 chemins, je n'ai rien compris.
Le truc c'est que je n'y connais rien à la programmation, en dehors d'un batch simplissime ou d'une automatisation d'installation, je suis incompétent. J'ai une formation de support info et je n'ai eu que des bases sur les scripts.
Là je me retrouve avec un doc qui explique a moitié rien, sachant que c'est la première fois que j'essaie de me servir d'une dll. C'est limite si je sais à quoi ça sert ...
Le truc c'est que je n'y connais rien à la programmation, en dehors d'un batch simplissime ou d'une automatisation d'installation, je suis incompétent. J'ai une formation de support info et je n'ai eu que des bases sur les scripts.
Là je me retrouve avec un doc qui explique a moitié rien, sachant que c'est la première fois que j'essaie de me servir d'une dll. C'est limite si je sais à quoi ça sert ...
- 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: [..] Aide sur DLLCALL
Sans doc précise n'espère pas trop utiliser une dll, surtout que la doc de celle-ci n'est apparemment pas trouvable facilement (aucune référence google).
Contournant ce problème-là, quelles infos système cherches-tu à récupérer ?
@sksbir,
Ce que tu proposes ne fonctionne qu'avec les DLLs enregistrant une interface COM. Tu ne peux pas créer un objet avec une DLL "de base" qui ne renseigne pas cette interface. La méthode est donc très limitée.
Contournant ce problème-là, quelles infos système cherches-tu à récupérer ?
@sksbir,
Ce que tu proposes ne fonctionne qu'avec les DLLs enregistrant une interface COM. Tu ne peux pas créer un objet avec une DLL "de base" qui ne renseigne pas cette interface. La méthode est donc très limitée.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] Aide sur DLLCALL
Bon, je vais essayer de fournir un maximum d'info.
1- je suis stagiaire à la cpam donc j’évite de donner trop d'information.
2-j'ai un manuel sous les yeux qui dis : "api-sso est une surcouche aux api accessmaster (gestion des autorisation sur l'ensemble de la cpam) de BULL (?)"
3- le but de la démarche est de renseigner un fichier csv avec nom d'utilisateur et un compteur du nombre de connexion de cette utilisateur sur un PC.
exemple :
X12345;Martin-12345;192.168.0.1;123 (nombre de connexion de martin sur x12345)
et donc grâce a cette dll (avec sso_getparam) je dois extraire le numéro d'utilisateur de martin.
1- je suis stagiaire à la cpam donc j’évite de donner trop d'information.
2-j'ai un manuel sous les yeux qui dis : "api-sso est une surcouche aux api accessmaster (gestion des autorisation sur l'ensemble de la cpam) de BULL (?)"
3- le but de la démarche est de renseigner un fichier csv avec nom d'utilisateur et un compteur du nombre de connexion de cette utilisateur sur un PC.
exemple :
X12345;Martin-12345;192.168.0.1;123 (nombre de connexion de martin sur x12345)
et donc grâce a cette dll (avec sso_getparam) je dois extraire le numéro d'utilisateur de martin.
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..] Aide sur DLLCALL
Merci pour la précision. Donc par exemple, XStandard.MD5 c'est l'interface COM de MD5.dll , j'ai tout bon là ?jchd a écrit : @sksbir,
Ce que tu proposes ne fonctionne qu'avec les DLLs enregistrant une interface COM. Tu ne peux pas créer un objet avec une DLL "de base" qui ne renseigne pas cette interface. La méthode est donc très limitée.
@netriam :
"API", "SSO", google est ton ami
"api-sso accessmaster" sur google --> http://www.mattreinfeldt.com/forums/ubb ... r_Informat --> http://www.evidian.com/iam/enterprise-sso/index.htm
mais tout ceci ne fait pas avancer le schmilblick, j'en ai peur... Il faut que tu retrouves la documentation sur cette API...
- 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: [..] Aide sur DLLCALL
OK on est bien là en dehors des infos système per se. Sans un coup de main d'une personne de la CPAM pouvant t'en dire plus sur cette DLL, ta quête est "donquichottesque".
Tout ce que j'ai trouvé sur cette DLL est sur un site japonais...
Tout ce que j'ai trouvé sur cette DLL est sur un site japonais...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] Aide sur DLLCALL
Bon bah merci quand même ... J'essayerai d'avoir plus d'info demain, là j'en ai marre ...

