Manejo de funciones para conexiones gprs
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
Manejo de funciones para conexiones gprs
Hola a todos.
Ahora mismo estoy metido con las conexiones por gprs. Mi intención es que desde código puede lanzar la conexión, ver el estado y desconectarla. Gracias al amigo Biel que me ha suministrado estas funciones he empezado a mirarlas pero no se como usarlas. Las funciones, para empezar son estas:
HB_FUNC (GPRSCONNECT)
{
HANDLE phWebConnection = NULL;
DWORD pdwStatus = 0;
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
CONNMGR_CONNECTIONINFO sConInfo;
memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetInternet;
if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
{
unsigned int k;
for( k = 0; k < 8; k ++)
{
ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
Sleep (2500);
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_WAITINGCONNECTION)
{}
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
}
}
hb_retl (FALSE);
}
else
{
hb_retl (FALSE);
}
}
}
Si alguien puede echarme una mano para ver como puedo llamar a esas funciones se lo agradeceria....
Saludos.
Elías Torres.
Ahora mismo estoy metido con las conexiones por gprs. Mi intención es que desde código puede lanzar la conexión, ver el estado y desconectarla. Gracias al amigo Biel que me ha suministrado estas funciones he empezado a mirarlas pero no se como usarlas. Las funciones, para empezar son estas:
HB_FUNC (GPRSCONNECT)
{
HANDLE phWebConnection = NULL;
DWORD pdwStatus = 0;
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
CONNMGR_CONNECTIONINFO sConInfo;
memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetInternet;
if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
{
unsigned int k;
for( k = 0; k < 8; k ++)
{
ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
Sleep (2500);
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_WAITINGCONNECTION)
{}
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
}
}
hb_retl (FALSE);
}
else
{
hb_retl (FALSE);
}
}
}
Si alguien puede echarme una mano para ver como puedo llamar a esas funciones se lo agradeceria....
Saludos.
Elías Torres.
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
Hola a todos....
Ya he conseguido que me haga la conexión desde código, pero no consigo que me desconecte una vez enviado el fichero.
La función que estoy utilizando es:
HB_FUNC (GPRSRELEASE)
{
HANDLE hCon= NULL;
ConnMgrReleaseConnection( ( HANDLE ) hb_parnl( 1 ),2 );
}
Nose si me falta algo..No da error pero no me desconecta.. Alguna idea??
Saludos.
Elías Torres.
Ya he conseguido que me haga la conexión desde código, pero no consigo que me desconecte una vez enviado el fichero.
La función que estoy utilizando es:
HB_FUNC (GPRSRELEASE)
{
HANDLE hCon= NULL;
ConnMgrReleaseConnection( ( HANDLE ) hb_parnl( 1 ),2 );
}
Nose si me falta algo..No da error pero no me desconecta.. Alguna idea??
Saludos.
Elías Torres.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Hola Salvador,
estas son las funciones que uso para conexion y desconexion GPRS. Las he probado con Windows mobile 2003 y 2005. Esta funcion la posteo en el foro Pawel, yo solo le hecho un pequeño cambio.
estas son las funciones que uso para conexion y desconexion GPRS. Las he probado con Windows mobile 2003 y 2005. Esta funcion la posteo en el foro Pawel, yo solo le hecho un pequeño cambio.
Code: Select all
HB_FUNC (GPRSCONNECT)
{
// By Pawel
HANDLE phWebConnection = NULL;
DWORD pdwStatus = 0;
//Comprobamos si ya estamos conectados.
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retnl( (long) 0 );
}
else
{
//No estamos conectados.
//CONNECTIONINFO es la estructura que
//le indica al Connection manager como nos queremos conectar.
CONNMGR_CONNECTIONINFO sConInfo;
memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET; //Queremos usar parametros "GuisDesNet"
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE; //Esta es la prioridad mas alta.
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
sConInfo.bExclusive = TRUE ; //Permitimos compartir la conexion con otras aplicaciones.
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetInternet;
if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
{
for (unsigned int k = 0; k < 8; k ++)
{
ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retnl( (long) phWebConnection );
}
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retnl( (long) -1 );
}
Sleep (2500);
}
hb_retnl( (long) phWebConnection );
}
else
{
hb_retnl( (long) -1 );
}
}
}
HB_FUNC (GPRSRELEASE)
{
HANDLE hCon= NULL;
ConnMgrReleaseConnection( ( HANDLE ) hb_parnl( 1 ),2 );
}