get_named_pipe_information


bool get_named_pipe_information(handle pipe,
                                unsigned* flags,
                                unsigned* output_size,
                                unsigned* input_size,
                                unsigned* maximum_instances)

This function obtains information regarding a named pipe.

Parameters

handle pipe

The handle of the pipe for which information is sought. The caller must have generic read access to the pipe.

unsigned* flags

A pointer to a variable indicating the type of the named pipe. null may be specified when this information is not required. The following flags may be returned.

pipe_end::client The pipe is at the client end of a named pipe (the default).
pipe_end::server The pipe is at the server end of a named pipe instance. When this flag is absent, the pipe is a client end pipe.
pipe_mode::byte_write The named pipe is a byte pipe (the default).
pipe_mode::message_write The named pipe is a message pipe. When this flag is absent, the pipe is a byte pipe.

unsigned* output_size

A pointer to a variable that receives the size (in bytes) of the buffer for outgoing data. If the buffer size is zero, the buffer is allocated as needed. If null is specified, no information is returned.

unsigned* input_size

A pointer to a variable that receives the size (in bytes) of the buffer for incoming data. If the buffer size is zero, the buffer is allocated as needed. If null is specified, no information is returned.

unsigned* maximum_instances

A pointer to a variable that receives the maximum number of instances of the pipe that can be created. If the value pipe_mode::NoInstanceLimit is returned, the number of pipe instances that can be created is limited only by the availability of system resources. If null is specified, no information is returned.

Return

bool

true The function succeeded.
false The call failed.