[..] Aide sur DLLCALL

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Netriann
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 23 mai 2011 09:20
Status : Hors ligne

[..] Aide sur DLLCALL

#1

Message par Netriann »

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.
Avatar du membre
jchd
AutoIt MVPs (MVP)
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

#2

Message par jchd »

Sans une base de code, sans une description précise des fonctions de la DLL ?
Ca va pas le faire...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Netriann
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 23 mai 2011 09:20
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#3

Message par Netriann »

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.

Code : Tout sélectionner

DllOpen("apisso32.dll")

$dll = DllCall("apisso32.dll", "dword", "SSO_getParam" ,"dword*","E")

DllClose("apisso32.dll")
 
Bref, Merci quand même, je crois que je vais abandonner ...
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#4

Message par sksbir »

Bonjour
Pour exploiter une DLL, j'utilise objcreate ( en tout cas, perso, je ne sais faire que comme ça :mrgreen: )
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
Netriann
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 23 mai 2011 09:20
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#5

Message par Netriann »

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 ...
Avatar du membre
jchd
AutoIt MVPs (MVP)
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

#6

Message par jchd »

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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Netriann
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 23 mai 2011 09:20
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#7

Message par Netriann »

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.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#8

Message par sksbir »

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.
Merci pour la précision. Donc par exemple, XStandard.MD5 c'est l'interface COM de MD5.dll , j'ai tout bon là ?

@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...
Avatar du membre
jchd
AutoIt MVPs (MVP)
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

#9

Message par jchd »

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...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Netriann
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 23 mai 2011 09:20
Status : Hors ligne

Re: [..] Aide sur DLLCALL

#10

Message par Netriann »

Bon bah merci quand même ... J'essayerai d'avoir plus d'info demain, là j'en ai marre ...
Répondre