Win32, Port Série Lecture/Écriture et se CHEVAUCHENT

Je vais essayer de mettre sur pied une preuve de concept pour la lecture/écriture à un port série et je vais avoir des problèmes avec design/concept. Je ne veux pas d'un sondage, donc je suis en train d'utiliser Overlapped I/O. Dans ce cas, ce n'est pas une application multi-thread - il utilise seulement efficace attend.

  1. Ouvrir le port (avec RECOUVREMENT)
  2. SetCommState (de configurer le port en bauds, la parité, la CTS/RTS, etc)
  3. SetCommMask (EV_BREAK, EV_CTS, EV_DSR,..., EV_RXCHAR, EV_RXFLAG, EV_TXEMPTY)
  4. Créer CHEVAUCHENT les structures et les Événements
  5. WriteFile (au port)
  6. WaitCommEvent (en raison d'écrire)
  7. WaitCommEvent (due à lire)
  8. ReadFile (du port)
  9. Vérifier la mémoire tampon de lecture

MSDN exemple est le genre de boiteux (La Surveillance Des Communications Des Événements). Je suis actuellement à l'aide de deux événements, mais l' ReadFile étape consiste à défaut avec ERROR_INVALID_PARAMETER.

Dans les étapes ci-dessus, dois-je besoin d'une ou deux structures superposées? Si l'on OVERLAPPED de la structure, sont les étapes WriteFile, WaitCommEvent (pour l'écriture), la réinitialisation de l'événement, WaitCommEvent (pour la lecture), ReadFile?

Vous avez besoin de montrer votre propre code, pas une description de votre code, si vous vous attendez à quiconque d'être en mesure de vous aider. Sans voir quels sont les paramètres qui vous sont effectivement de passer à ReadFile(), comment espérez-vous obtenir de l'aide à comprendre pourquoi il se plaint?

OriginalL'auteur jww | 2012-09-19