I/O Completion Ports: WaitForMultipleObjectsEx
-
Hi,
ich möchte gern mehrere Events in einem Thread erstellen und abfragen: hab gehört dass das mit I/O Completion Ports funktionieren soll, nur weiß ich leider nicht wie.... Oder muss ich hier lediglich "WaitForMultipleObjectsEx" verwenden anstatt "WaitForMultipleObjects"?
Jedes Event soll wenn es auftritt eine PostMessage senden und danach wieder neu starten.
CreateIoCompletionPort: welchen Port muss ich hier angeben als dritten Parameter, wenn das Event z.B. statt finden soll, wenn die Ethernet-Verbindung unconnected / connected wird?
Gruß
Jens
-
Warten auf das Komplettieren einer asynchronen Operation tust du mit GetQueuedCompletionStatus(..), nicht mit den WaitXXX Funktionen.
CreateIoCompletionPort: welchen Port muss ich hier angeben als dritten Parameter, wenn das Event z.B. statt finden soll, wenn die Ethernet-Verbindung unconnected / connected wird?
3. Parameter
CompletionKey
Er ermöglicht dir spezifische Daten mit einen Completion Port zu verknüpfen. Die bekommst Du wieder beim Aufruf von GetQueuedCompletionStatus(..), was dir die Unterscheidung verschiedener IOCP erlaubt.Hier die Doku:
http://msdn.microsoft.com/en-us/library/aa363862(VS.85).aspxZu empfehlen ist das folgende Buch von Jeffery Richter:
Advanced Windows | ISBN: 9781572315488