Режим |
Описание |
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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.