Export (0) Print
Expand All

GetNamedPipeHandleState function

Retrieves information about a specified named pipe. The information returned can vary during the lifetime of an instance of the named pipe.

Syntax


BOOL WINAPI GetNamedPipeHandleState(
  _In_       HANDLE hNamedPipe,
  _Out_opt_  LPDWORD lpState,
  _Out_opt_  LPDWORD lpCurInstances,
  _Out_opt_  LPDWORD lpMaxCollectionCount,
  _Out_opt_  LPDWORD lpCollectDataTimeout,
  _Out_opt_  LPTSTR lpUserName,
  _In_       DWORD nMaxUserNameSize
);

Parameters

hNamedPipe [in]

A handle to the named pipe for which information is wanted. The handle must have GENERIC_READ access for a read-only or read/write pipe, or it must have GENERIC_WRITE and FILE_READ_ATTRIBUTES access for a write-only pipe.

This parameter can also be a handle to an anonymous pipe, as returned by the CreatePipe function.

lpState [out, optional]

A pointer to a variable that indicates the current state of the handle. This parameter can be NULL if this information is not needed. Either or both of the following values can be specified.

ValueMeaning
PIPE_NOWAIT
0x00000001

The pipe handle is in nonblocking mode. If this flag is not specified, the pipe handle is in blocking mode.

PIPE_READMODE_MESSAGE
0x00000002

The pipe handle is in message-read mode. If this flag is not specified, the pipe handle is in byte-read mode.

 

lpCurInstances [out, optional]

A pointer to a variable that receives the number of current pipe instances. This parameter can be NULL if this information is not required.

lpMaxCollectionCount [out, optional]

A pointer to a variable that receives the maximum number of bytes to be collected on the client's 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 computer. This parameter can be NULL if this information is not required.

lpCollectDataTimeout [out, optional]

A pointer to a variable that receives 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 can be NULL if this information is not required.

lpUserName [out, optional]

A pointer to a buffer that receives the user name string associated with the client application. The server can only retrieve this information if the client opened the pipe with SECURITY_IMPERSONATION access.

This parameter must be NULL if the specified pipe handle is to the client end of a named pipe. This parameter can be NULL if this information is not required.

nMaxUserNameSize [in]

The size of the buffer specified by the lpUserName parameter, in TCHARs. This parameter is ignored if lpUserName is NULL.

Return value

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.

Remarks

The GetNamedPipeHandleState function returns successfully even if all of the pointers passed to it are NULL.

To set the pipe handle state, use the SetNamedPipeHandleState function.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winbase.h (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

Unicode and ANSI names

GetNamedPipeHandleStateW (Unicode) and GetNamedPipeHandleStateA (ANSI)

See also

Pipe Functions
Pipes Overview
SetNamedPipeHandleState

 

 

Community Additions

ADD
Show:
© 2014 Microsoft