Функция GetNamedPipeInfo (namedpipeapi.h)

Извлекает сведения о указанном именованный канал.

Синтаксис

BOOL GetNamedPipeInfo(
  [in]            HANDLE  hNamedPipe,
  [out, optional] LPDWORD lpFlags,
  [out, optional] LPDWORD lpOutBufferSize,
  [out, optional] LPDWORD lpInBufferSize,
  [out, optional] LPDWORD lpMaxInstances
);

Параметры

[in] hNamedPipe

Дескриптор экземпляра именованного канала. Дескриптор должен иметь GENERIC_READ доступ к именованным каналу для канала, доступного только для чтения или записи, или должен иметь доступ к GENERIC_WRITE и FILE_READ_ATTRIBUTES для канала только для записи.

Этот параметр также может быть дескриптором для анонимного канала, возвращаемого функцией CreatePipe .

[out, optional] lpFlags

Указатель на переменную, получающую тип именованного канала. Этот параметр может иметь значение NULL, если эти сведения не требуются. В противном случае этот параметр может быть одним или несколькими из следующих значений.

Значение Значение
PIPE_CLIENT_END
0x00000000
Дескриптор ссылается на клиентский конец экземпляра именованного канала. Это значение по умолчанию.
PIPE_SERVER_END
0x00000001
Дескриптор ссылается на конец сервера экземпляра именованного канала. Если это значение не указано, дескриптор ссылается на клиентский конец экземпляра именованного канала.
PIPE_TYPE_BYTE
0x00000000
Именованный канал — это байтовый канал. Это значение по умолчанию.
PIPE_TYPE_MESSAGE
0x00000004
Именованный канал является каналом сообщений. Если это значение не указано, канал является байтовой.

[out, optional] lpOutBufferSize

Указатель на переменную, которая получает размер буфера для исходящих данных в байтах. Если размер буфера равен нулю, буфер выделяется по мере необходимости. Этот параметр может иметь значение NULL, если эти сведения не требуются.

[out, optional] lpInBufferSize

Указатель на переменную, которая получает размер буфера для входящих данных в байтах. Если размер буфера равен нулю, буфер выделяется по мере необходимости. Этот параметр может иметь значение NULL, если эти сведения не требуются.

[out, optional] lpMaxInstances

Указатель на переменную, получающую максимальное число создаваемых экземпляров канала. Если для переменной задано значение PIPE_UNLIMITED_INSTANCES (255), количество создаваемых экземпляров канала ограничивается только доступностью системных ресурсов. Этот параметр может иметь значение NULL, если эти сведения не требуются.

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

Если функция выполняется успешно, возвращается ненулевое значение.

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

Комментарии

Windows 10 версии 1709: каналы поддерживаются только в контейнере приложений, т. е. от одного процесса UWP к другому процессу UWP, который является частью того же приложения. Кроме того, именованные каналы должны использовать синтаксис "\.\pipe\LOCAL\" для имени канала.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header namedpipeapi.h
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CreateNamedPipe

GetNamedPipeHandleState

Функции канала

Обзор каналов