Bonjour,

J'ai cherch� pas mal sur le net mais je n'ai pas trouv� de r�elles r�ponses � mon probl�me.

Je vous l'expose:

J'ai un service windows qui tourne et qui lance un ex�cutable �crit en C#.
Cet ex�cutable utilise des librairies d�velopp�es en c++ non manag�.

L'ensemble tourne plut�t correctement � une exception pr�s:
Je passe en argument un string � une fonction c++ depuis une fonction c#.

C�t� c# j'ai:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
 [DllImport("DxCNT.dll", CallingConvention = CallingConvention.Cdecl)]
  private static extern int DxCNTstartup(
     [MarshalAs(UnmanagedType.LPCStr)] string configFile);

c�t� c++ j'ai:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
int DxCNTstartup(char* configfile)
{
...
}
J'explique maintenant ce qu'il se passe et le r�sultat de mes recherches.

Mon probl�me est que lorsque le programme c# est appel� depuis un service windows la valeur de configfile, lors de l'appel a DxCNTstartup, est NULL alors que dans les logs le string n'est pas null cot� c#.

J'ai essay� plusieurs choses:
- En debug dans Visual Studio 2005: pas de probl�me configfile n'est pas null.
- En release en appelant le programme "� la main", pas de probl�me configfile n'est pas null.

J'en viens � penser qu'il existe peut-�tre des restrictions sur l'interoperabilit� lorsqu'on appel le programme depuis un service. J'ai essay� de lancer le service avec comme utilisateur celui de la machine (comme si je le lan�ais � la main) mais le probl�me persiste.

Je n'ai plus vraiment d'id�e pour r�gler le soucis.

Merci d'avance si vous en avez