Вниз
Скачать: CL | DM;

Вопрос про Mailslot   Найти похожие ветки 

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

кто может обьяснить, почему я не могу отправить более 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 не возвращает ошибки :-(


 
Digitman ©   (2002-03-26 17:47) [1]

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


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

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

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


 
SV ©   (2002-03-27 21:30) [3]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
14-18129
lipskiy
2002-04-30 14:07
2002.06.06
UBPFD: Надо бы ввести новое поле... Как это лучше организовать?


1-18017
Константин
2002-05-24 10:51
2002.06.06
Раскрытие окна на весь экран


1-18019
Qwer
2002-05-24 01:45
2002.06.06
Порядковый номер дня в году


7-18175
SAlex
2002-03-06 18:48
2002.06.06
Прерывания


1-17885
Tahion
2002-05-20 09:00
2002.06.06
Как printdialog1 заставить вносить имен. в настройки QuickRep1




   Наверх