Попробовав написать исходя из этой документации, получил полную фигню. Посмотрев в MTDBG, увидел, что первое сообщение записывается прямо в буффер, а не в +8. Так что надо бы поправить доку (и sysfuncr.txt тоже).Формат IPC-буфера:
* +0: dword: если здесь не 0, то буфер считается заблокированным; блокируйте/разблокируйте буфер, когда вы с ним активно работаете и вам надо, чтобы извне не изменялись данные буфера (не поступали новые сообщения)
* +4: dword: занято места в буфере (в байтах)
* +8: первое сообщение
* +8+n: второе сообщение
* ...
Формат сообщения:
* +0: dword: PID процесса/потока, пославшего сообщение
* +4: dword: длина сообщения (не считая этот заголовок)
* +8: n*byte: данные сообщения
IPC и документация
-
http://kolibrios.org/?p=Documentation&s ... ons&sfp=60
Документация в порядке. Пример использования есть в приложении ipc, которое на svn почему-то запихнули в network (в исходниках дистра оно в develop/examples).
Ну а подобную претензию я уже слышал вот здесь, а мой ответ можно прочитать, посмотрев немного ниже.
Ну а подобную претензию я уже слышал вот здесь, а мой ответ можно прочитать, посмотрев немного ниже.
Ушёл к умным, знающим и культурным людям.
Я тоже на этом попадался Поле "занято места в буфере" нужно было инициализировать числом 8. Неплохо бы указать в качестве примера в документации.
> Я тоже на этом попадался :)
Пора свой клуб создавать :-).
..bw
Пора свой клуб создавать :-).
..bw
Who is online
Users browsing this forum: No registered users and 17 guests