Prev Next
The GetNamedPipeHandleState function retrieves information about a
specified named pipe. The information returned can vary during the lifetime of
an instance of the named pipe.
BOOL GetNamedPipeHandleState(
HANDLE hNamedPipe,
|
// handle of named pipe
|
LPDWORD lpState,
|
// address of flags indicating pipe state
|
LPDWORD lpCurInstances,
|
// address of number of current pipe instances
|
LPDWORD lpMaxCollectionCount,
|
// address of max. bytes before remote transmission
|
LPDWORD lpCollectDataTimeout,
|
// address of max. time before remote transmission
|
LPTSTR lpUserName,
|
// address of user name of client process
|
DWORD nMaxUserNameSize
|
// size, in characters, of user name buffer
|
);
|
|
Parameters
-
hNamedPipe
-
Identifies the named pipe for which information is wanted. The handle must
have GENERIC_READ access to the named pipe.
-
lpState
-
Points to a 32-bit 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:
Value
|
Meaning
|
PIPE_NOWAIT
|
The pipe handle is in nonblocking mode. If this flag is not specified, the
pipe handle is in blocking mode.
|
PIPE_READMODE_MESSAGE
|
The pipe handle is in message-read mode. If this flag is not specified, the
pipe handle is in byte-read mode.
|
-
lpCurInstances
-
Points to a 32-bit variable that receives the number of current pipe
instances. This parameter can be NULL if this information is not required.
-
lpMaxCollectionCount
-
Points to a 32-bit 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
-
Points to a 32-bit 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
-
Points to a buffer that receives the null-terminated string containing the
user name string of the client application. 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
-
Specifies the size, in characters, of the buffer specified by the lpUserName
parameter. This parameter is ignored if lpUserName is NULL.
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.
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.
See Also
SetNamedPipeHandleState