2.4.37 FilePipeLocalInformation
This information class is used to query information on a named pipe that is associated with the end of the pipe that is being queried.
A FILE_PIPE_LOCAL_INFORMATION data element, defined as follows, is returned by the server.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NamedPipeType |
|||||||||||||||||||||||||||||||
NamedPipeConfiguration |
|||||||||||||||||||||||||||||||
MaximumInstances |
|||||||||||||||||||||||||||||||
CurrentInstances |
|||||||||||||||||||||||||||||||
InboundQuota |
|||||||||||||||||||||||||||||||
ReadDataAvailable |
|||||||||||||||||||||||||||||||
OutboundQuota |
|||||||||||||||||||||||||||||||
WriteQuotaAvailable |
|||||||||||||||||||||||||||||||
NamedPipeState |
|||||||||||||||||||||||||||||||
NamedPipeEnd |
NamedPipeType (4 bytes): A 32-bit unsigned integer that contains the named pipe type. MUST be one of the following.
-
Value
Meaning
FILE_PIPE_BYTE_STREAM_TYPE
0x00000000
If this value is specified, data MUST be read from the pipe as a stream of bytes.
FILE_PIPE_MESSAGE_TYPE
0x00000001
If this flag is specified, data MUST be read from the pipe as a stream of messages.
NamedPipeConfiguration (4 bytes): A 32-bit unsigned integer that contains the named pipe configuration. MUST be one of the following.
-
Value
Meaning
FILE_PIPE_INBOUND
0x00000000
If this value is specified, the flow of data in the pipe goes from client to server only.
FILE_PIPE_OUTBOUND
0x00000001
If this value is specified, the flow of data in the pipe goes from server to client only.
FILE_PIPE_FULL_DUPLEX
0x00000002
If this value is specified, the pipe is bi-directional; both server and client processes can read from and write to the pipe.
MaximumInstances (4 bytes): A 32-bit unsigned integer that contains the maximum number of instances that can be created for this pipe.
CurrentInstances (4 bytes): A 32-bit unsigned integer that contains the number of current named pipe instances.
InboundQuota (4 bytes): A 32-bit unsigned integer that contains the inbound quota, in bytes, for the named pipe. The inbound quota is the size of the buffer reserved for inbound transfer of data on the pipe.
ReadDataAvailable (4 bytes): A 32-bit unsigned integer that contains the bytes of data available to be read from the named pipe.
OutboundQuota (4 bytes): A 32-bit unsigned integer that contains the outbound quota, in bytes, for the named pipe. The outbound quota is the size of the buffer reserved for outbound transfer of data on the pipe.
WriteQuotaAvailable (4 bytes): A 32-bit unsigned integer that contains the write quota, in bytes, for the named pipe. If the NamedPipeEnd field is set to FILE_PIPE_CLIENT_END, the WriteQuotaAvailable field is the remaining InboundQuota field available. If the NamedPipeEnd field is set to FILE_PIPE_SERVER_END, the WriteQuotaAvailable field is the remaining OutboundQuota field available.
NamedPipeState (4 bytes): A 32-bit unsigned integer that contains the named pipe state that specifies the connection status for the named pipe. MUST be one of the following.
-
Value
Meaning
FILE_PIPE_DISCONNECTED_STATE
0x00000001
Named pipe is disconnected.
FILE_PIPE_LISTENING_STATE
0x00000002
Named pipe is waiting to establish a connection.
FILE_PIPE_CONNECTED_STATE
0x00000003
Named pipe is connected.
FILE_PIPE_CLOSING_STATE
0x00000004
Named pipe is in the process of being closed.
NamedPipeEnd (4 bytes): A 32-bit unsigned integer that contains the type of the named pipe end, which specifies whether this is the client or the server side of a named pipe. MUST be one of the following.
-
Value
Meaning
FILE_PIPE_CLIENT_END
0x00000000
This is the client end of a named pipe.
FILE_PIPE_SERVER_END
0x00000001
This is the server end of a named pipe.
This operation returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this file information class is STATUS_SUCCESS. The most common error codes are listed in the following table.
Error code |
Meaning |
---|---|
STATUS_INFO_LENGTH_MISMATCH 0xC0000004 |
The specified information record length does not match the length that is required for the specified information class. |
For more information on named pipes, please see [PIPE].