На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

SetNamedPipeHandleState



The SetNamedPipeHandleState function sets the read mode and the blocking mode of the specified named pipe. If the specified handle is to the client end of a named pipe and if the named pipe server process is on a remote computer, the function can also be used to control local buffering.

BOOL SetNamedPipeHandleState(

HANDLE hNamedPipe, // handle of named pipe
LPDWORD lpMode, // address of new pipe mode
LPDWORD lpMaxCollectionCount, // address of max. bytes before remote transmission
LPDWORD lpCollectDataTimeout // address of max. time before remote transmission
);


Parameters

hNamedPipe

Identifies the named pipe instance. This parameter can be a handle to the server end of the pipe, as returned by the CreateNamedPipe function, or to the client end of the pipe, as returned by the CreateFile function. The handle must have GENERIC_WRITE access to the named pipe.

lpMode

Points to a 32-bit variable that supplies the new mode. The mode is a combination of a read-mode flag and a wait-mode flag. This parameter can be NULL if the mode is not being set. One of the following read modes can be specified:

Mode Description
PIPE_READMODE_BYTE Data is read from the pipe as a stream of bytes. This mode is the default if no read-mode flag is specified.
PIPE_READMODE_MESSAGE Data is read from the pipe as a stream of messages. The function fails if this flag is specified for a byte-type pipe.


One of the following wait modes can be specified:

Mode Description
PIPE_WAIT Blocking mode is enabled. This mode is the default if no wait-mode flag is specified. When a blocking mode pipe handle is specified in the ReadFile, WriteFile, or ConnectNamedPipe function, operations are not finished until there is data to read, all data is written, or a client is connected. Use of this mode can mean waiting indefinitely in some situations for a client process to perform an action.
PIPE_NOWAIT Nonblocking mode is enabled. In this mode, ReadFile, WriteFile, and ConnectNamedPipe always return immediately. Note that nonblocking mode is supported for compatibility with Microsoft® LAN Manager version 2.0 and should not be used to achieve asynchronous input and output (I/O) with named pipes.


lpMaxCollectionCount

Points to a 32-bit variable that specifies the maximum number of bytes collected on the client computer before transmission to the server. This parameter must be NULL if the specified pipe handle is to the server end of a named pipe or if client and server processes are on the same machine. This parameter is ignored if the client process specifies the FILE_FLAG_WRITE_THROUGH flag in the CreateFile function when the handle was created. This parameter can be NULL if the collection count is not being set.

lpCollectDataTimeout

Points to a 32-bit variable that specifies the maximum time, in milliseconds, that can pass before a remote named pipe transfers information over the network. This parameter must be NULL if the specified pipe handle is to the server end of a named pipe or if client and server processes are on the same computer. This parameter is ignored if the client process specified the FILE_FLAG_WRITE_THROUGH flag in the CreateFile function when the handle was created. This parameter can be NULL if the collection count is not being set.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

See Also

ConnectNamedPipe, CreateFile, CreateNamedPipe, GetNamedPipeHandleState, ReadFile, WriteFile


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

SetNamedPipeHandleState



Функция SetNamedPipeHandleState устанавливает способ чтения и блокирующий способ определенной поименованной трубы. Если определенная ручка - в конце клиента поименованной трубы и если процесс сервера поименованной трубы находится в дистанционном компьютере, функция может также использована, чтобы управлять локальной буферизацией.

BOOL SetNamedPipeHandleState(

РУЧКА hNamedPipe, // ручка поименованной трубы LPDWORD lpMode, // адреса нового режима трубы LPDWORD lpMaxCollectionCount, // адреса max. байтов перед дистанционным адресом передачи LPDWORD lpCollectDataTimeout // max. времени перед дистанционной передачей
);


Параметры

hNamedPipe

Идентифицирует поименованный пример трубы. Этот параметр может быть ручкой в конце сервера трубы, как возвращано функцией CreateNamedPipe, или в конец клиента трубы, как возвращано функцией CreateFile. Ручка должна иметь доступ GENERIC_WRITE к поименованной трубе.

lpMode

Точки на 32- битовую переменную, которые поставляют новый режим. Режим - комбинация чтения-режима флага и ожидание-режим флага. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если режим не установленный. Одного из следующего прочитавшего режимы может быть определено:

Описание Режима
Данные PIPE_READMODE_BYTE прочитаны из трубы как поток байтов. Этот режим по умолчанию если никакое чтение-режим флага не определено.
Данные PIPE_READMODE_MESSAGE прочитаны из трубы как поток сообщений. Функция терпит неудачу если этот флаг определен для байтового типа трубы.


Один из режимов ожидания следующего могут быть определены:

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


lpMaxCollectionCount

Точки на 32- битовую переменную, которые определяют максимальное количество байтов собирался в компьютере клиента перед передачей в сервер. Этот параметр должен быть НЕДЕЙСТВИТЕЛЕН если определенная ручка трубы - в конце сервера поименованной трубы или если клиент и процессы сервера находятся в той же машине. Этот параметр проигнорирован если процесс клиента определяет флаг FILE_FLAG_WRITE_THROUGH в функции CreateFile когда ручка была создана. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если совокупный счет не установленный.

lpCollectDataTimeout

Точки на 32- битовую переменную, которые определяют максимальное время, в течение миллисекунд, которое может пройти прежде, чем дистанционная поименованная труба передаст информацию над сетью. Этот параметр должен быть НЕДЕЙСТВИТЕЛЕН если определенная ручка трубы - в конце сервера поименованной трубы или если клиент и процессы сервера находятся в том же компьютере. Этот параметр проигнорирован если процесс клиента определял бы флаг FILE_FLAG_WRITE_THROUGH в функции CreateFile когда ручка была создана. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если совокупный счет не установленный.



Обратные Величины

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

Смотри Также

ConnectNamedPipe, CreateFile, CreateNamedPipe, GetNamedPipeHandleState, ReadFile, WriteFile


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz