[C con Clase] ReadFile, COM y lectura de caracteres nulos

armando armandfp1 en gmail.com
Mie Feb 24 12:05:02 CET 2010


Buen dia,

Tengo un problema con una aplicacion que estoy desarrollando, tengo que leer
del puerto serial que es virtual, es decir que un driver creo el puerto y
estoy leyendo desde alli; no tengo problemas cuando un equipo externo manda
caracteres validos(0x01, 0x02...), mi programa en c++ los recibe bien, el
problema que tengo ahora es que el equipo externo manda caracteres nulos
(0x00) y alli es cuando pareciera que la funcion ReadFile no los leyera
bien.

tengo el siguiente codigo:

char tmp[128];
int multiplo=0;
DWORD err;
COMSTAT stt;

ClearCommError(hcom, &err, &stt);
do{
    if(ReadFile(hcom, tmp, stt.cbInQue, &err, NULL)){
        tmp[err] = '\0';
        memcpy(bfIn+multiplo, tmp, err);
        multiplo = multiplo + err;
    }else
        return 0;
}while(err > 0);

el cual funciona bien si es que no se le manda caracteres nulos, y cuando
defino el dcb pongo que acepte los caracteres nulos:

dcb.fNull = false;

Alguna idea de algo que este fallando?
Gracias de antemano.

-- 
================================
ing. paredes aguilar, armando
http://www.sinapsisperu.com/
Desarrollador
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100224/16519e9c/attachment.html>


Más información sobre la lista de distribución Cconclase