Bonjour à tous,

je bloque depuis quelque temps sur un problème, et je commence à me demander si je vais réussir à trouver une solution. Je vais donc vous exposer mon problème proprement:

système: windows 2000 pro.
IDE: visualC++ 7.1

J'ouvre le port parallèle vie un CreateFile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
m_hPortHandle = CreateFile("LPT1",					// device name
								GENERIC_READ|GENERIC_WRITE,			// access mode
								0,						// share mode
								0,						// security attributes
								OPEN_EXISTING,			// creation dispositions
								FILE_ATTRIBUTE_NORMAL,	// flags and attributes
								NULL);					// template file
	if (m_hPortHandle==INVALID_HANDLE_VALUE)
	{
		ReportLastError("CreateFile"); //excellente fonction de debuggage récupérée sur codeguru.com
		return FALSE;
	}
Le FileCreate() fonctionne et je n'obtiens pas de message d'erreur. Mon m_hPortHandle est valide.

Ensuite, j'essaie d'appliquer les timeouts:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
COMMTIMEOUTS cto;
cto.ReadIntervalTimeout = 2000;
cto.ReadTotalTimeoutConstant = 0;
cto.ReadTotalTimeoutMultiplier = 0;
cto.WriteTotalTimeoutConstant = 0;
cto.WriteTotalTimeoutMultiplier = 0;
if (0==SetCommTimeouts(m_hPortHandle, &cto))
{
	ReportLastError("SetCommTimeouts");
	return FALSE;
}
Et là, à l'appel de SetCommTimeouts j'obtiens: error 87: paramètre invalide (j'aimerais bien savoir lequel. J'ai essayé de rentrer en pas à pas dans la fonctio SetCommTimeouts <F11>, mais ça ne marche pas).

J'ai essayé différentes ruses pour me passer de ces timeouts, mais rien n'y fait. Si ces timeouts ne sont pas correctements configurés, j'obtiens de gros soucis par la suite sur les ReadFile().

Que se passe-t-il? Oublie-je quelque chose? Mon problème n'a-t-il donc point de solution?