![]() |
|
Модераторы: feodorv |
![]()
|
|
| myck |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 16.2.2006 Репутация: нет Всего: нет |
Проблема следующая. Нижеприведенная функция используется в библиотеке, которая в свою очередь, используется большим программным комплексом.
Перед вызовом этой функции успешно выполняются: внешним приложением на DELPHI: - CreateNamedPipe( DLLToTMCPipe, PIPE_ACCESS_INBOUND, PIPE_TYPE_BYTE OR PIPE_WAIT OR PIPE_READMODE_BYTE, PIPE_UNLIMITED_INSTANCES, sizeof(CommData), sizeof(CommData), 180000, nil); (sizeof(CommData)=2 байта) - ConnectNamedPipe(DLLPipe,Nil); --------------------------- на MSVC: - DLLPipe=CreateFile(DLLToTMCPipe, GENERIC_WRITE, FILE_SHARE_WRITE , NULL, OPEN_EXISTING,0, NULL); При выполнении нижеприведенного кода весь программный комплекс "падает" на выполнении WriteFile. И самое обидное, что в этом случае даже нет возможности получить код последней ошибки GetLastError. Функция ReadFile во внешнем приложении возвращает ERROR_BROKEN_PIPE. Вот сама функция: BOOL WriteToPipe(char ParameterA, char ParameterB) { char DataSend[2]; DWORD szDataSent; BOOL wt; DataSend[0]=ParameterA; DataSend[1]=ParameterB; wt=WriteFile(DLLPipe, DataSend, 2, &szDataSent, NULL); if (!wt) { return 0; } else { return 1; } } |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |