Ciao a tutti,
sto realizzando un'applicazione costituita da 2 programmi client e server che comunicano tra loro.

Per effettuare un determinato controllo, ho bisogno che il server comunichi al client un codice composto da un solo numero di tipo int; nello specifico, se il controllo è andato a buon fine, il server comunica 2, altrimenti comunica 3.

lo scambio di questo codice di controllo avviene attraverso mailslot (non posso fare altrimenti), il server invia

codice:
int esitoBAD = 3;
int esitoGOOD = 2;

mailslotControllo = CreateMailslot("\\\\.\\mailslot\\controllo",TAGLIA,MAILSLOT_WAIT_FOREVER,NULL);

//in caso di esito negativo esegue l'istruzione
conferma1 = WriteFile(mailslotControllo, esitoBAD,sizeof(esitoBAD)+1, &scritti1, NULL);

//in caso di esito positivo
conferma3 = WriteFile(mailslotControllo, esitoGOOD,sizeof(esitoGOOD)+1, &scritti3, NULL);
il client in ricezione analizza il contenuto della mailslot e in dipendenza di esso inizializza una variabile. Tutto questo avviene eseguendo il seguente codice:

codice:
//in main...
prenotazione_esistente = CreateFile("\\\\.\\mailslot\\controllo", GENERIC_READ, 
					FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,
					OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

hthread3 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)threadcontrollaprenotazioni,
					prenotazione_esistente,NORMAL_PRIORITY_CLASS,&threadcontrolloID);



void threadcontrollaprenotazioni(HANDLE mailslot)
{
	BOOL esitoprenotazione;
	int esito;
	DWORD letti;
	
	esitoprenotazione = ReadFile(mailslot, esito, TAGLIA, &letti, NULL);

	printf("ho letto dalla mailslot di controllo\n");
	

	printf("esito = %d\n", esito);  //qui scopro l'errore!!

	if (esito == 3)
	
		var_controllo = 3;
	

	else if (esito == 2)
	
		var_controllo = 2;
		
}
(il client lancia un thread per analizzare il codice ricevuto dal server).

IL PROBLEMA E' QUESTO: il client non riceve affatto 2 o 3 dalla mailslot, ma dei numeri assurdi preceduti dal segno -
(ad esempio dove dovrebbe ricevere 3 riceve -858993460 !!)

Che cosa sbaglio? e come posso risolvere?