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

Named pipes   Найти похожие ветки 

 
Marco   (2003-12-26 22:33) [0]

Уважаемые Мастера!
Помогите разрешить проблему. Необходимо реализовать раюоту 2 приложений (клиент-сервер) через именованный канал.
Pipe создается с такими параметрами:

hPipeHandle:= CreateNamedPipe(
PChar(sPipeName), // pointer to pipe name
PIPE_ACCESS_DUPLEX or FILE_FLAG_OVERLAPPED,// pipe open mode
PIPE_TYPE_BYTE or PIPE_NOWAIT,// pipe-specific modes
PIPE_UNLIMITED_INSTANCES, // maximum number of instances
1024, // output buffer size, in bytes
1024, // input buffer size, in bytes
NMPWAIT_USE_DEFAULT_WAIT, // time-out time, in milliseconds
@rSecurityAttributes // pointer to security attributes structure
);

Клиент подключается со следующими параметрами:

hPipeHandle:= CreateFile(
PChar(sPipeName), // pipe name
GENERIC_READ or GENERIC_WRITE, // read and write access
0, // no sharing
nil, // no security attributes
OPEN_EXISTING, // opens existing pipe
0, // default attributes
0 // no template file
);

После запуска

TransactNamedPipe(
hPipeHandle,
pBufIN,
SizeOf(pBufIN^),
pBufOUT,
SizeOf(pBufOUT^),
nBytesRead,
@rOverLapped
);
выдается сообщение об ошибке 6 - ERROR_INVALID_HANDLE.
Видимо, дело в параметрах создания pipe...
Может, кто-нибудь занимался этим больше чем я и может помочь?


 
MBo ©   (2003-12-27 07:37) [1]

В MSDN есть примеры



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

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



Память: 0.45 MB
Время: 0.014 c
11-12306
SPeller
2003-06-19 16:37
2004.03.05
KOLUtils


4-12571
fishca
2003-12-30 11:01
2004.03.05
Удаление файла


1-12383
Talan
2004-02-25 00:24
2004.03.05
Создание объекта


4-12579
INQ
2003-12-26 22:27
2004.03.05
Передача имени процесса из dll в программу-монитор


1-12335
Blackstarsirbis
2004-02-22 16:58
2004.03.05
TeeChart?




   Наверх