Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Conversiones De Tipos

Iniciado por vincent, 03 de Mayo de 2006, 06:01:21 PM

« anterior - próximo »

vincent

 Buenas,

he retomado un antinguo proyecto aqui en el curro, del control de llamadas entrantes utilizando RAS. Resulta que necesito saber el nombre del usuario que se me está intentado conectar y este nombre me viene codificado en Unicode en un array de unsigned char. Me gustaria pasarlo a char* para poder tratarlo con normalidad, pero no encuentro la manera de hacer la conversión. Alguien se ha encontrado alguna vez con este problema?

Gracias!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

zupervaca

 Mira esta funcion MultiByteToWideChar

vincent

 Gracias por la idea! Pero creo que es al revés: WideCharToMultiByte

http://www.codeguru.com/forum/archive/inde...p/t-231165.html
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

vincent

 Y puestos a preguntar ( por cierto, lo del post anterior no me ha funcionado... :( )

Resulta que yo tengo una función para aceptar las llamadas entrantes. Lo que yo quiero hacer es no aceptar la llamada y realizar yo la llamada al equipo que me ha llamado ( vaya lio ). Si la función esta devuelve FALSE, windows no acepta la llamada. Para realizar yo la otra llamada creo un thread y hago la llamada en este otro thread. Pongo el código de esta parte:

HANDLE hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)TProc,0,0,&dwThreadId);
   if (hThread == NULL)
   {
 return FALSE;
   }


return FALSE;


Pues resulta que si no pongo el código del CreateThread windows no acepta la llamada ( obviamente no hace la otra llamada ). Pero si pongo el CreateThread, el muy cabrón acepta la llamada y a parte realiza la otra... alguien sabe que puede estar pasando?

Muchas gracias!!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

AK47

 No uses CreateThread, usa _beginthreadex, que este último inicializa el CRT y el primero no (yo uso el primero, tengo que cambiarlo (nooo)). Esto lo he sacado de una presentación de Microsoft, "Coding for Multiple Cores", así que supongo que será cierto :P
0En cuanto a las llamadas entrantes y salientes, estaría bien que lo explicases un poco más. A mi por lo menos me faltan más datos para entender de qué se trata.

Pablo Zurita

 Si Windows te pasa un el nombre de usuario en Unicode es porque probablemente se pueda usar Unicode en el nombre del usuario. Seria mejor que en vez de pasar el nombre de usuario a un char común, podrías pasarlo a un wchat_t o std::wstring.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.