共用方式為


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
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CreateNamedPipe (CreateNamedPipe 函式)

GetNamedPipeHandleState

管道函式

管道概觀