Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ѕараметры. lpName Ч указатель на им€ канала, который должен иметь следующую форму:




lpName Ч указатель на им€ канала, который должен иметь следующую форму:

\\.\pipe\ [path]pipename

“очка (.) обозначает локальный компьютер; таким образом, создать канал на удаленном компьютере невозможно.

dwOpenMode Ч указывает один из следующих флагов:

Х PIPE_ACCESS_DUPLEX Ч этот флаг эквивалентен комбинации значений GENERIC_READ и GENERIC_WRITE.

Х PIPE_ACCESS_INBOUND Ч данные могут передаватьс€ только в направлении от клиента к серверу; эквивалентно GENERIC_READ.

Х PIPE_ACCESS_OUTBOUND Ч этот флаг эквивалентен GENERIC_WRITE.

ѕри задании режима могут также указыватьс€ значени€ FILE_FLAG_WRITE_THROUGH (не используетс€ с каналами сообщений) и FILE_FLAG_OVERLAPPED (перекрывающиес€ операции рассматриваютс€ в главе 14).

dwPipeMode Ч имеютс€ три пары взаимоисключающих значений этого параметра. Ёти значени€ указывают, ориентирована ли запись на работу с сообщени€ми или байтами, ориентировано ли чтение на работу с сообщени€ми или блоками, и блокируютс€ ли операции чтени€.

Х PIPE_TYPE_BYTE и PIPE_TYPE_MESSAGE Ч указывают, соответственно, должны ли данные записыватьс€ в канал как поток байтов или как сообщени€. ƒл€ всех экземпл€ров каналов с одинаковыми именами следует использовать одно и то же значение.

Х PIPE_READMODE_BYTE и PIPE_READMODE_MESSAGE Ч указывают, соответственно, должны ли данные считыватьс€ как поток байтов или как сообщени€. «начение PIPE_READMODE_MESSAGE требует использовани€ значени€ PIPE_TYPE_MESSAGE.

Х PIPE_WAIT и PIPE_NOWAIT Ч определ€ют, соответственно, будет или не будет блокироватьс€ операци€ ReadFile. —ледует использовать значение PIPE_WAIT, поскольку дл€ обеспечени€ асинхронного ввода/вывода существуют лучшие способы.

nMaxInstances Ч определ€ет количество экземпл€ров каналов, а следовательно, и количество одновременно поддерживаемых клиентов.  ак показано на рис. 11.2, при каждом вызове функции CreateNamedPipe дл€ данного канала должно использоватьс€ одно и то же значение. „тобы предоставить ќ— возможность самосто€тельно определить значение этого параметра на основании доступных системных ресурсов, следует указать значение PIPE_UNLIMITED_INSTANCES.

nOutBufferSize и nInBufferSize Ч позвол€ют указать размеры (в байтах) выходного и входного буферов именованных каналов. „тобы использовать размеры буферов по умолчанию, укажите значение 0.

nDefaultTimeOut Ч длительность интервала ожидани€ по умолчанию (в миллисекундах) дл€ функции WaitNamedPipe, котора€ обсуждаетс€ в следующем разделе. Ёта ситуаци€, в которой функци€, создающа€ объект, устанавливает интервал ожидани€ дл€ родственной функции, €вл€етс€ уникальной.

¬ случае ошибки возвращаетс€ значение INVALID_HANDLE_VALUE, поскольку дескрипторы каналов аналогичны дескрипторам файлов. ѕри попытке создани€ именованного канала под управлением Windows 9x, котора€ не может выступать в качестве сервера именованных каналов, возвращаемым значением будет NULL, что может стать причиной недоразумений.

lpSecurityAttributes Ч имеет тот же смысл, что и в случае любой функции, создающей объект.

ѕри первом вызове функции CreateNamedPipe происходит создание самого именованного канала, а не просто его экземпл€ра. «акрытие последнего открытого дескриптора экземпл€ра именованного канала приводит к уничтожению этого экземпл€ра (обычно существует по одному дескриптору на каждый экземпл€р). ”ничтожение последнего экземпл€ра именованного канала приводит к уничтожению самого канала, в результате чего им€ канала становитс€ вновь доступным дл€ повторного использовани€.





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-09-20; ћы поможем в написании ваших работ!; просмотров: 542 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ћогика может привести ¬ас от пункта ј к пункту Ѕ, а воображение Ч куда угодно © јльберт Ёйнштейн
==> читать все изречени€...

1295 - | 1281 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.01 с.