[#BloombergLP-balb-PipeControlChannel-start-09]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balb.adoc[balb]::xref:BloombergLP/balb/PipeControlChannel.adoc[PipeControlChannel]::start
:relfileprefix: ../../../
:mrdocs:

`start` overloads

== Synopses

Declared in `&lt;balb&lowbar;pipecontrolchannel&period;h&gt;`

Open a named pipe having the specified `pipeName`, and start a thread to read messages and dispatch them to the callback specified at construction&period; Optionally specify `attributes` of the background processing thread&period; If `attributes` is not supplied, a default constructed `ThreadAttributes` object will be used&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; In particular, return a non&hyphen;zero value if the pipe cannot be opened or if it is detected that another process is reading from the pipe&period; `pipeName` must be of the types `const char &ast;`, `char &ast;`, `bsl&colon;&colon;string`, `std&colon;&colon;string`, `std&colon;&colon;pmr&colon;&colon;string` (if supported), or `bslstl&colon;&colon;StringRef`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
xref:BloombergLP/balb/PipeControlChannel/start-0d.adoc[start](char const* pipeName);
----

[.small]#xref:BloombergLP/balb/PipeControlChannel/start-0d.adoc[_» more&period;&period;&period;_]#

Same as the preceding overload, accepting a `STRING&lowbar;TYPE` pipe name&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class STRING&lowbar;TYPE&gt;
int
xref:BloombergLP/balb/PipeControlChannel/start-0e.adoc[start](STRING&lowbar;TYPE const& pipeName);
----

[.small]#xref:BloombergLP/balb/PipeControlChannel/start-0e.adoc[_» more&period;&period;&period;_]#

Same as the first overload, with the specified thread `attributes`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
xref:BloombergLP/balb/PipeControlChannel/start-0a.adoc[start](
    char const* pipeName,
    xref:BloombergLP/bslmt/ThreadAttributes.adoc[bslmt::ThreadAttributes] const& attributes);
----

[.small]#xref:BloombergLP/balb/PipeControlChannel/start-0a.adoc[_» more&period;&period;&period;_]#

Same as the third overload, accepting a `STRING&lowbar;TYPE` pipe name&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class STRING&lowbar;TYPE&gt;
int
xref:BloombergLP/balb/PipeControlChannel/start-02.adoc[start](
    STRING&lowbar;TYPE const& pipeName,
    xref:BloombergLP/bslmt/ThreadAttributes.adoc[bslmt::ThreadAttributes] const& attributes);
----

[.small]#xref:BloombergLP/balb/PipeControlChannel/start-02.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
