Реферат Курсовая Конспект
CallNamedPipe - раздел Образование, Тема: Взаимодействие процессов через механизм именованых каналов Callnamedpipe – Функция Callnamedpipe Соединяется С Сообщением-Типом Канала (...
|
CallNamedPipe – функция CallNamedPipe соединяется с сообщением-типом канала (и ждет, если экземпляр канала недоступен). Считывает в канал и записывает с канала, а потом закрывает канал.
Описание этой функции:
BOOL CallNamedPipe( LPCTSTR lpNamedPipeName,// указатель на именованный каналLPVOID lpInBuffer,// указатель на записываемый буфер DWORD nInBufferSize,// размер, в байтах, записываемого буфераLPVOID lpOutBuffer,// указатель на считываемый буферDWORD nOutBufferSize,// размер, в байтах, считываемого буфераLPDWORD lpBytesRead,// указатель на считываемое количество байтовDWORD nTimeOut // time-out значение, в миллисекундах);Параметры:
lpNamedPipeName – указатель на строку с завершающим нулем, специфицирующую именованный канал.
lpInBuffer – указатель на буфер, который содержит данные, записываемые в канал.
nInBufferSize – описатель размера, в байтах, записываемого буфера.
lpOutBuffer – указатель на буфер, который получает считываемые данные с канала.
nOutBufferSize – описатель размера, в байтах, считываемого буфера.
lpBytesRead – указатель на 32-битное значение, которое получает количество байт, считываемые с канала.
nTimeOut – описатель количества миллисекунд, в течение которого ожидается доступ к именованному каналу. Кроме числовых значений могут быть специфицированные ниже перечисленные специальные значения:
Значение | Пояснение |
NMPWAIT_NOWAIT | Нет ожидания для именованного канала. Если именованный канал не доступен, функция возвращает ошибку. |
NMPWAIT_WAIT_FOREVER | Ожидания неограниченны. |
NMPWAIT_USE_DEFAULT_WAIT | Используется time-out по умолчанию, оговоренное в вызове CreateNamedPipeфункции. |
Возвращаемые значения:
Если функция завершилась удачно, то возвращаемое значение – отличное от нуля.
Если функция завершилась неудачно, возвращаемое значение – 0. Для получения более детальной информации вызовите GetLastError.
Замечания:
Вызов CallNamedPipeэквивалентен вызовуCreateFile (или WaitNamedPipe, если CreateFile не может открыть канал непосредственно), TransactNamedPipe, и CloseHandleфункции.
Если сообщение, записанное в канал серверным процессом длиннее, чем nOutBufferSize, CallNamedPipe возвращает FALSE и GetLastError возвращает ERROR_MORE_DATA. Остаток от сообщения отбрасывается, потому что CallNamedPipe закрывает дескриптор канала до возврата.
CallNamedPipe неудачна, если канал типа байт.
– Конец работы –
Эта тема принадлежит разделу:
Тема Взаимодействие процессов через механизм именованых каналов... Цель Научиться передавать данные и сообщения между процессами локального и...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: CallNamedPipe
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов