![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
jungle |
|
||||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
Столкнулся с проблемой подключения из сервисного приложения к именованному каналу (named pipe), создаваемого Win32-приложением.
Сервер (Win32-приложение) создает именованный канал в отдельном потоке и ожидает подключения в блокируемом режиме (используется флаг PIPE_TYPE):
Клиент (сервисное приложение) подключается к серверу для передачи бинарных данных через канал. Однако ошибка возникает на этапе открытия канала:
Дескриптор hPipe в этом случае постоянно равен 160 (десятичная форма). Если вызвать процедуру открытия канала не из сервиса, а из Win32-приложения, то никаких проблем с открытием канала нет – дескриптор hPipe получает корректные значения и дальше всё идёт по плану. Подскажите в чём особенность открытия именованных каналов в сервисных приложениях? Или подобное реализовать невозможно? |
||||
|
|||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
Вопрос интересный и мне тоже.
Единственное, что приходит в голову (в Вашем посте нет информации, что возвращает GetLastError, хотя 160 - это не INVALID_HANDLE_VALUE) - это нестыковка в SecurityAttributes. попробуйте сделать так:
// и в дальнейшем @sa подставить в CreateNamedPIPE и CreateFile вместо nil. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
интересный вопрос! а не трудно ли будет автору сотворить тестовое приложение, на котором сия ошибка воспроизводится?
кстати, как заметил kami, проблема вполне может быть из-за несовпадения/неправильности прав доступа... -------------------- There are always someone smarter than you... |
|||
|
||||
jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
kami,
Большое спасибо! С атрибутами безопасности всё заработало, как надо! Видимо, очередное требование со стороны Windows Server 2003 SP2. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |