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
标头 namedpipeapi.h
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CreateNamedPipe

GetNamedPipeHandleState

管道函数

管道概述