Я использую CallNamedPipe () в VB6 для отправки сообщений на сервер именованных каналов C #.
На стороне сервера канал создается:
new NamedPipeServerStream(pipeName, PipeDirection.InOut, numThreads);
На клиенте я использую этот вызов для записи 2 байтов:
Dim Header(1) As Byte
Header(0) = 0
Header(1) = 6
res = CallNamedPipe(szPipeName, Header(0), 2, bArray(0), numBytes, cbRead, 3000)
Сервер увидел, что канал подключен, потому что WaitForConnection () действительно возвратился, но затем не смог прочитать ни одного байта.
На стороне клиента: CallNamedPipe не удалось и вернул код ошибки 87 (неверные параметры?)
Мои вопросы:
Создан ли канал в режиме байтов или в режиме сообщений? MSDN сообщает, что CallNamedPipe () завершается ошибкой, если канал находится в байтовом режиме.
Есть ли способ записи в канал байтового режима в VB6. Нужно ли менять код сервера для создания канала режима сообщений?
Как заставить работать мой код VB6?