Анонимные каналы

Анонимные каналы

Анонимные каналы (anonymous channels) Windows обеспечивают однонаправленное (полудуплексное) посимвольное межпроцессное взаимодействие. Каждый канал имеет два дескриптора: дескриптор чтения (read handle) и дескриптор записи (write handle). Функция, с помощью которой создаются анонимные каналы, имеет следующий прототип:

BOOL CreatePipe(PHANDLE phRead, PHANDLE phWrite, LPSECURITY_ATTRIBUTES lpsa, DWORD cbPipe)

Дескрипторы каналов часто бывают наследуемыми; причины этого станут понятными из приведенного ниже примера. Значение параметра cbPipe, указывающее размер канала в байтах, носит рекомендательный характер, причем значению 0 соответствует размер канала по умолчанию.

Чтобы канал можно было использовать для IPC, должен существовать еще один процесс, и для этого процесса требуется один из дескрипторов канала. Предположим, например, что родительскому процессу, вызвавшему функцию CreatePipe, необходимо вывести данные, которые нужны дочернему процессу. Тогда возникает вопрос о том, как передать дочернему процессу дескриптор чтения (phRead). Родительский процесс осуществляет это, устанавливая дескриптор стандартного ввода в структуре STARTUPINFO для дочерней процедуры равным *phRead.

Чтение с использованием дескриптора чтения канала блокируется, если канал пуст. В противном случае в процессе чтения будет воспринято столько байтов, сколько имеется в канале, вплоть до количества, указанного при вызове функции ReadFile. Операция записи в заполненный канал, которая выполняется с использованием буфера в памяти, также будет блокирована.

Наконец, анонимные каналы обеспечивают только однонаправленное взаимодействие. Для двухстороннего взаимодействия необходимы два канала. 

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Истинные имена и анонимные системы

Из книги Криптоанархия, кибергосударства и пиратские утопии автора Ладлоу Питер

Истинные имена и анонимные системы Нужно сказать несколько слов о роли анонимности и цифровых псевдонимов. Хотя, конечно, это тема для отдельной статьи.Действительно ли нужны истинные имена? Почему их хотят знать? Есть ли у государства имеющие силу основания требовать их


Анонимные методы в C#

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Анонимные методы в C# В завершение этой главы мы рассмотрим некоторые связанные с делегатами и событиями возможности .NET 2.0 через призму возможностей C#. Для начала обратим внимание на то, что в случае, когда вызывающей стороне требуется осуществлять прием поступающих


Каналы

Из книги Photoshop. Мультимедийный курс автора Мединов Олег

Каналы После того как агенты проверят и отформатируют поставляемые клиентом аргументы, упаковав их в объект сообщении, соответствующий IMessage-совместимый тип передается от реального агента объекту канала. Каналы – это сущности, отвечающие за транспортировку сообщения


Каналы RGB

Из книги Asterisk™: будущее телефонии Второе издание автора Меггелен Джим Ван

Каналы RGB Проведем простой эксперимент.1. Создайте новое изображение с белым фоном.2. Выберите инструмент Карандаш. Настройте кисть таким образом, чтобы линия карандаша получилась достаточно жирной, например 50 пикселов.3. Выберите чисто красный цвет. Для этого в диалоговом


Каналы IRC

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Каналы IRC Сообщество разработчиков Asterisk поддерживает каналы ретрансляции интернет-чатов (Internet Relay Chat, IRC) на сайте irc.freenode.net. Самыми активными каналами являются #asterisk и #asterisk-dev[9]. В целях защиты от спама теперь на обоих каналах требуется


Каналы FXO и FXS

Из книги Photoshop CS4 автора Жвалевский Андрей Валентинович

Каналы FXO и FXS Каналы FXO и FXS отличаются друг от друга лишь тем, что один из них обеспечивает тональный сигнал готовности линии. FXO-порт не генерирует тонального сигнала, он его принимает. Самый простой пример - тональный сигнал, поставляемый телефонной компанией. FXS- порт


10.1.13. Каналы

Из книги Как пользоваться Интернетом после принятия закона «Об Интернете» автора Халявин Василий


22.5. Каналы IRC

Из книги Linux программирование в примерах автора Роббинс Арнольд

22.5. Каналы IRC Можно побиться об заклад, что в любое время суток десятки «рубистов» болтают в IRC-чатах. Такие серверы принадлежат freenode.net; зайдите на этот сайт и поищите ближайший к вам. Поиск в Web поможет вам найти подходящий IRC-клиент для любой платформы.В канале #ruby-lang


Каналы

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Каналы Чтобы нарисовать картину, художники используют палитру, смешивая на ней краски. Благодаря этому они получают любые оттенки цветов. В Photoshop для передачи цвета также применяются методы смешения цветов. При этом используется одна из двух основных палитр:• RGB –


9.3.1. Каналы

Из книги Анонимность и безопасность в Интернете. От «чайника» к пользователю автора Колисниченко Денис Николаевич


5.4. Каналы

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

5.4. Каналы Канал — это коммуникационное устройство, допускающее однонаправленное взаимодействие. Данные, записываемые на "входном" конце канала, читаются на "выходном" его конце. Каналы являются последовательными устройствами: данные всегда читаются в том порядке, в


1.3. Анонимные прокси-серверы: сокрытие IP-адреса и местонахождения

Из книги автора

1.3. Анонимные прокси-серверы: сокрытие IP-адреса и местонахождения С помощью анонимайзера скрывается не только ваш IP-адрес, но и ваше местонахождение, определяемое по IP-адресу. Но иногда нужно скрыть местонахождение более гибко, а именно – получить IP-адрес определенной


2.2. Tor или анонимные прокси-серверы и анонимайзеры. Кто кого?

Из книги автора

2.2. Tor или анонимные прокси-серверы и анонимайзеры. Кто кого? Если вам понятен принцип работы Tor, то ее преимущества тоже должны быть ясны, но на всякий случай сравним Tor с анонимными прокси-серверами и анонимайзерами:? анонимайзеры и анонимные прокси не шифруют передаваемые