GetNamedPipeHandleState
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