Soucis d'utilisation d'une DLL sous php avec objet COM

Soucis d'utilisation d'une DLL sous php avec objet COM - PHP - Programmation

Marsh Posté le 05-06-2009 à 09:52:31    

Bonjour !
 
J'ai un "petit" soucis pour utiliser une dll en PHP. J'ai essayé plusieurs solutions mais rien de bien efficace.
La dernière en date est celle avec les objets COM.  
Voici le code que j'ai pour l'instant :
 

Code :
  1. $str_to_crypt = "toto";
  2. $str_crypt = '';
  3. $NewCom = new COM("DynamicWrapper" );
  4. $NewCom->Register("dllapi.dll", "APICcrypterMem2", "i=spss", "f=s", "r=l" );
  5. $NewCom->APICcrypterMem2($str_to_crypt, $str_crypt, 'Master', 'C:\\Cles');


 
J'ai bien entendu intégré à mon environnement la dll concernant le DynamicWrapper.
Mon soucis est qu'à l'exécution du script, j'obtiens l'erreur suivante :

Citation :

Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80070057] Paramètre incorrect. ' in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php:10 Stack trace: #0 C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php(10): com->APICcrypterMem2($str_to_crypt, '', 'Master', 'C:\Cles') #1 {main} thrown in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php on line 10


 
Je pense que le soucis viens de la variable de type pointeur. Sinon pourquoi utiliser une dll ? Tout simplement car cette dll nous est fourni par un organisme indépendant et l'on a obligation de s'en servir pour notre application full web.  
Étant donné qu'il s'agit d'un intranet, une install sur les postes clients ne pose évidemment aucun soucis.
 
Voici les 2 sources sur lesquelles je me suis basé pour mon code :
http://freenet-homepage.de/gborn/W [...] naCall.htm
http://www.php.net/manual/fr/ref.w32api.php
 
Help ! :(

Reply

Marsh Posté le 05-06-2009 à 09:52:31   

Reply

Marsh Posté le 05-06-2009 à 14:37:46    

c'est normal les chemins en C:\Documents and Settings\ où y'a pas de \www\? A moins tu exécute ton script php en ligne de commande?
 
Je sais pas si c'est comme en asp, mais ta dll est bien enregistrée avec regsvr32.exe?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 05-06-2009 à 16:06:34    

Je peux très bien spécifier un chemin en dur pour mes tests comme je l'ai fait. Ca évoluera bien évidement si j'arrive à crypter qqch.
 
Ma dll DynamicWrapper est bien enregistrée avec regsvr32.exe. Dllapi est elle simplement présente dans mon répertoire Windows\System32. Impossible de l'enregistrer avec regsvr32 puisqu'il ne s'agit pas d'une DLL COM.

Reply

Marsh Posté le 08-06-2009 à 16:07:57    

Pas d'idées ? Personne n'a jamais essayé d'attaquer en php des dll ici ?

Reply

Marsh Posté le 08-06-2009 à 17:58:56    

pas moi en tout cas...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed