2010-03-07 6 views
0

Si un processus avec unicode activé crée un canal nommé, il doit transmettre un LPCTSTR pour le nom du canal, dans ce cas un LPCWSTR. Est-ce qu'un deuxième processus sans unicode sera capable d'ouvrir ce canal en passant un LPCSTR pour le nom du canal?Utilisation d'un canal nommé pour communiquer entre processus unicode et non unicode sous Windows

De même, puis-je appeler CreateNamedPipeW ou CreateNamedPipeA et ignorer si unicode est activé ou dois-je appeler celui qui convient?

Répondre

4

Les processus ne sont pas Unicode ou non-Unicode, ils ne sont que des processus. La distinction Unicode/non-Unicode s'applique uniquement aux fenêtres et aux objets liés aux fenêtres.

Vous pouvez appeler l'une des deux fonctions. La version A convertit simplement la chaîne en UTF-16 et la transmet à la fonction W.

+0

Merci, je pense que cela efface. Par processus unicode ou non-unicode, je veux dire un programme qui a été compilé avec UNICODE défini ou non. – David

+1

+1. En interne, le noyau conserve les noms de pipe dans UNICODE. –