![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
порт завенршения
mahab © (2010-07-01 22:39:00)Привет. Есть такой пример использования порта завершения http://code.progler.ru/get/300.Мне не понятен третий параметр ф-ии создания порта и получения статуса.Почитал в разных источниках:
на http://www.firststeps.ru/mfc/net/socket/r.php?30так- PerHandleKey может быть чем угодно, это тот параметр CompletionKey, который мы передавали для CreateIoCompletionPort, при связывании сокета с портом.
на http://www.intuit.ru/department/pl/cil/13/так - Существующий порт завершения ввода-вывода можно связать с несколькими различными файлами одновременно; при этом процедура, обслуживающая завершение ввода-вывода, сможет различать, операция с каким именно файлом поставила в очередь данный запрос, с помощью параметра CompletionKey (здесь SOME_NUMBER), назначаемого разработчиком.
В общем хочу сказать каша в голове. Може кто-нибудь простыми словами сказать ЧТО МОЖНО положить в этот параметр и как потом этим воспользоваться
Демо (2010-07-02 16:19:00) [1]
> положит в порт завершающий ключ именно того потока,
Конечно...
mahab (2010-07-02 00:08:00) [2]Если бы по MSDN было понятно все было бы просто. перевод с англ можно иной раз по разному
Rouse_ (2010-07-02 00:01:00) [3]При вызове GetQueuedCompletionStatus ты получишь значение, которое поместил в третий параметр функции CreateIoCompletionPort. Ну а дальше смотри MSDN, там все достаточно подробно и с примерами разжевано.
mahab (2010-07-01 23:50:00) [4]то есть если к примеру у меня три потока, каждый из них ассоциировал свое IO с сущ-им портом, то при завершениии операции над каким либо из этих IO система положит в порт завершающий ключ именно того потока, в чьем IO произошло завершение операции и таким образом я могу различить чье событие произошло . Так что-ли?
Rouse_ (2010-07-01 23:24:00) [5]
> Може кто-нибудь простыми словами сказать ЧТО МОЖНО положить
> в этот параметр и как потом этим воспользоваться
Туда ты можешь положить любые свои данные, которые хочешь передать в каллбэк