рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

CreateNamedPipe

CreateNamedPipe - раздел Образование, Тема: Взаимодействие процессов через механизм именованых каналов Createnamedpipe-Функция Создает Экземпляр Именованного Канал...

CreateNamedPipe-функция создает экземпляр именованного канала и возвращает дескриптор следующим операциям канала. Именованный канал серверного процесса использует эту функцию либо для создания первого экземпляра специфического именованного канала, либо для установки основных атрибутов, или создания новых экземпляров имеющихся именованных каналов.

HANDLE CreateNamedPipe( LPCTSTR lpName,// Указатель на имя канала DWORD dwOpenMode, // канал открывает режимDWORD dwPipeMode,// pipe-specific режимыDWORD nMaxInstances,// максимальное число запросовDWORD nOutBufferSize,// выводимый размер буфера, в байтахDWORD nInBufferSize,// вводимый размер буфера, в байтахDWORD nDefaultTimeOut,// time-out время, в миллисекундахLPSECURITY_ATTRIBUTES lpSecurityAttributes //указатель на атрибуты безопасности); Параметры:

lpName – указатель на строку с завершающим нулем, который однозначно идентифицирует канал. Строка должна иметь следующую форму:

\.pipepipename

часть имени pipename может включать любой другой символ после backslash, включая числа и специальные символы. Сплошная строка имени канала не должна превышать 256 символов.

dwOpenMode – описатель режима доступа канала, режим с наложением, режим сквозной записи (одновременное занесение данных в КЭШ и ОЗУ) и безопасность режима доступа дескриптора канала.

 

CreateNamedPipeвозвращает ошибку, если dwOpenMode-описатель – любой-другой из флагов, не приведенных в ниже перечисленном списке.

Этот параметр должен включать один из ниже перечисленных флагов режимов доступа канала. Эти же режимы должны быть определены для каждого экземпляра канала:

Режим Описание
PIPE_ACCESS_DUPLEX Канал двунаправленный; оба – серверные и клиентские процессы – могут читать с канала и записывать в него. Этот режим дает серверу эквивалент GENERIC_READ | GENERIC_WRITE доступа к каналу. Клиент может включать GENERIC_READ или GENERIC_WRITE, или оба, когда он соединяется с каналом, использующим CreateFile функцию.
PIPE_ACCESS_INBOUND Поток данных в канале идет только от клиента к серверу. Этот режим дает серверу эквивалент GENERIC_READ доступа к каналу. Клиент должен включать GENERIC_WRITE доступ, когда присоединяется к каналу.
PIPE_ACCESS_OUTBOUND Поток данных в канале идет только от сервера к клиенту. Этот режим дает серверу эквивалент GENERIC_WRITE доступа к каналу. Клиент должен включать GENERIC_ READ доступ, когда присоединяется к каналу.

Этот параметр может еще включать или оба флага (FILE_FLAG_WRITE_THROUGH и FILE_FLAG_OVERLAPPED), с доступным write-through режимом, или режим OVERLAPPED.

dwPipeMode – специфицирует тип, чтение и ожидание режимов дескриптора канала.

Один из ниже перечисленных флагов может быть задан. Если вы укажете 0, то параметр по умолчанию – режим типа байт.

 

 

Режим Описание
PIPE_TYPE_BYTE Данные записываются в канал как поток байтов. Этот режим не может быть использован с PIPE_READMODE_MESSAGE.
PIPE_TYPE_MESSAGE Данные записываются в канал как поток сообщений Этот режим может быть использован либо с PIPE_READMODE_MESSAGE, либо PIPE_READMODE_BYTE.

 

 

Режим Описание
PIPE_READMODE_BYTE Данные считываются с канала как поток байтов Этот режим может использоваться либо с PIPE_TYPE_MESSAGE, либо PIPE_TYPE_BYTE.
PIPE_READMODE_MESSAGE Данные считываются с канала как поток сообщений. Этот режим может использоваться, если задан и PIPE_TYPE_MESSAGE.

 

Один из ниже перечисленных флагов ожидания может быть указан. Если вы укажите 0, то параметр по умолчанию блокирует режим.

Режим Описание
PIPE_WAIT Объединение записей в блок доступно.Когда дескриптор канала указан в ReadFile, WriteFile, или ConnectNamedPipe функции, операции не будут выполнены, пока там считывание данных, все данные записаны или клиент присоединен. Использование этого режима означает неограниченное ожидание в течение выполнения действий клиентским процессом.
PIPE_NOWAIT неблокируемый режим доступен (позволяющий выполнять следующую операцию даже в случае невозможности полного завершения предшествующей). В этом режиме ReadFile, WriteFile, и ConnectNamedPipe всегда возвращаются немедленно.

 

nMaxInstances – заданное максимальное число экземпляров, которые могут быть созданы для этого канала. Это же число должно быть задано для всех экземпляров. Если этот параметр - PIPE_UNLIMITED_INSTANCES (количество экземпляров канала), то создание может быть ограниченным только наличием системных ресурсов.

nOutBufferSize – спецификатор количества байтов в резерв для выводимого буфера.

nInBufferSize – спецификатор количества байтов в резерв для вводимого буфера.

nDefaultTimeOut – спецификатор значения time-out по умолчанию, в миллисекундах, если в WaitNamedPipe-функции спецификатор NMPWAIT_USE_DEFAULT_WAIT. Каждый экземпляр именованного канала должен определять это же значение.

lpSecurityAttributes – указатель на SECURITY_ATTRIBUTES структуру, которая специфицирует дескриптор экземпляра нового именованного канала. Если lpSecurityAttributes – NULL, именованный канал получает дескриптор экземпляра безопасности по умолчанию, и он не может наследоваться.

Возвращаемые значения:

Если функция успешна, возвращаемое значение – дескриптор экземпляра именованного канала серверной части.

Если функция неудачна, возвращаемое значение – INVALID_HANDLE_VALUE. Для получения более детальной информации, вызовите GetLastError. Возвращаемое значение ­– ERROR_INVALID_PARAMETER, если nMaxInstances ­– больше, чем PIPE_UNLIMITED_INSTANCES.

– Конец работы –

Эта тема принадлежит разделу:

Тема: Взаимодействие процессов через механизм именованых каналов

Тема Взаимодействие процессов через механизм именованых каналов... Цель Научиться передавать данные и сообщения между процессами локального и...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: CreateNamedPipe

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

CallNamedPipe
CallNamedPipe – функция CallNamedPipe соединяется с сообщением-типом канала (и ждет, если экземпляр канала недоступен). Считывает в канал и записывает с канала, а потом закрывает канал. Оп

ConnectNamedPipe
ConnectNamedPipe-функция дает возможность серверным процессам именованного канала ожидать клиентских процессов для соединения с экземпляром именованного канала. Клиентские процессы соединяются вызо

DisconnectNamedPipe
Функция DisconnectNamedPipeотсоединяет экземпляра именованного канала серверной части.     BOOL DisconnectNamedPipe( HANDLE hN

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги