Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос про Mailslot [D6, WinXP]


Зинец Виктор ©   (2002-03-26 15:16:00) 

кто может обьяснить, почему я не могу отправить более 424 байт в слот? делаю так:

MyMailSlot := CreateFile (PChar ("\\" + UserName + "\mailslot\messngr"), GENERIC_WRITE or GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

...
WriteFile (MyMailSlot, Buffer [1], cBuffer, cBytesSend, nil);

cBytesSend показывает, ск. байт записано, но получается сообщение, только если < 425

MSDN пишет, что "If CreateFile specifies a domain or uses the asterisk format to specify the system"s primary domain, the application cannot write more than 400 bytes at a time to the mailslot. If the application attempts to do so, the WriteFile function fails and GetLastError returns ERROR_BAD_NETPATH.", но у меня WriteFile не возвращает ошибки :-(


SV   (2002-03-27 21:30:00) [1]

В MailSlot Есть ограничение: При передаче сообщ. W98->W98 до 64Kb и соединение не устанавливается, если W_NT->W NT, то есди сообщение > 424 байт, то передается с доставкой соединения, т.о. от NT->W98 или наоборот сообщения должны дыть <424 байт!


Зинец Виктор   (2002-03-26 18:01:00) [2]

if not WriteFile (MyMailSlot, Buffer [1], cBuffer, cBytesSend, nil) then ShowMessage (format ("Error - %s", [GetLastError]));

после writefile я могу посмотреть на к-во отправленных байт - сколько отправляю, столько cBytesSend и показывает; но если их > 424, то адресату ничего не приходит


Digitman   (2002-03-26 17:47:00) [3]

А где из приведенного тобой кода видно, что ты контролируешь результат работы WriteFile ?
И если, как ты утверждаешь, WriteFile "не возвращает ошибки", то чему равно значение переменной cBytesSend после возврата из WriteFile ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо