NamedPipeClientStream 构造函数

定义

初始化 NamedPipeClientStream 类的新实例。

重载

NamedPipeClientStream(String)

用指定的管道名称初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String)

使用指定的管道和服务器名称初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String, PipeDirection)

使用指定的管道和服务器名称,以及指定的管道方向初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

使用指定的管道方向为指定的管道图柄初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

使用指定的管道和服务器名称,以及指定的管道方向和管道选项初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel)

使用指定的管道和服务器名称、指定的管道方向和管道选项以及安全模拟级别初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String, PipeAccessRights, PipeOptions, TokenImpersonationLevel, HandleInheritability)

使用指定的管道和服务器名称、指定的管道选项、安全模拟级别以及继承模式初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel, HandleInheritability)

使用指定的管道和服务器名称、指定的管道方向、管道选项、安全模拟级别以及继承模式初始化 NamedPipeClientStream 类的新实例。

NamedPipeClientStream(String)

用指定的管道名称初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ pipeName);
public NamedPipeClientStream (string pipeName);
new System.IO.Pipes.NamedPipeClientStream : string -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (pipeName As String)

参数

pipeName
String

管道的名称。

例外

pipeNamenull

pipeName 是一个长度为零的字符串。

pipeName 设置为“匿名”。

注解

此构造函数使用以下默认值:

适用于

NamedPipeClientStream(String, String)

使用指定的管道和服务器名称初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName);
public NamedPipeClientStream (string serverName, string pipeName);
new System.IO.Pipes.NamedPipeClientStream : string * string -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

注解

此构造函数使用以下默认值:

适用于

NamedPipeClientStream(String, String, PipeDirection)

使用指定的管道和服务器名称,以及指定的管道方向初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName, System::IO::Pipes::PipeDirection direction);
public NamedPipeClientStream (string serverName, string pipeName, System.IO.Pipes.PipeDirection direction);
new System.IO.Pipes.NamedPipeClientStream : string * string * System.IO.Pipes.PipeDirection -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String, direction As PipeDirection)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

direction
PipeDirection

确定管道方向的枚举值之一。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

示例

以下示例演示了使用命名管道将字符串从父进程发送到子进程的方法。 此示例在子进程中创建一个 NamedPipeClientStream 对象,然后连接到本地计算机上的管道。 可以在类中看到 NamedPipeServerStream 服务器示例。 此示例是为 NamedPipeServerStreamNamedPipeClientStream 类提供的大型示例的一部分。

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        using (NamedPipeClientStream pipeClient =
            new NamedPipeClientStream(".", "testpipe", PipeDirection.In))
        {

            // Connect to the pipe or wait until the pipe is available.
            Console.Write("Attempting to connect to pipe...");
            pipeClient.Connect();

            Console.WriteLine("Connected to pipe.");
            Console.WriteLine("There are currently {0} pipe server instances open.",
               pipeClient.NumberOfServerInstances);
            using (StreamReader sr = new StreamReader(pipeClient))
            {
                // Display the read text to the console
                string temp;
                while ((temp = sr.ReadLine()) != null)
                {
                    Console.WriteLine("Received from server: {0}", temp);
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes
Imports System.Security.Principal

Class PipeClient

    Shared Sub Main(ByVal args As String())

        Dim pipeClient As New NamedPipeClientStream("localhost", _
                    "testpipe", PipeDirection.In, PipeOptions.None)

        ' Connect to the pipe or wait until the pipe is available.
        Console.WriteLine("Attempting to connect to the pipe...")
        pipeClient.Connect()

        Console.WriteLine("Connect to the pipe.")
        Console.WriteLine("There are currently {0} pipe server instances open.", _
                          pipeClient.NumberOfServerInstances)

        Dim sr As New StreamReader(pipeClient)
        Dim temp As String

        temp = sr.ReadLine()
        While Not temp Is Nothing
            Console.WriteLine("Received from server: {0}", temp)
            temp = sr.ReadLine()
        End While
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

注解

此构造函数使用以下默认值:

适用于

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

使用指定的管道方向为指定的管道图柄初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::IO::Pipes::PipeDirection direction, bool isAsync, bool isConnected, Microsoft::Win32::SafeHandles::SafePipeHandle ^ safePipeHandle);
public NamedPipeClientStream (System.IO.Pipes.PipeDirection direction, bool isAsync, bool isConnected, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
[System.Security.SecurityCritical]
public NamedPipeClientStream (System.IO.Pipes.PipeDirection direction, bool isAsync, bool isConnected, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
new System.IO.Pipes.NamedPipeClientStream : System.IO.Pipes.PipeDirection * bool * bool * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.NamedPipeClientStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.NamedPipeClientStream : System.IO.Pipes.PipeDirection * bool * bool * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (direction As PipeDirection, isAsync As Boolean, isConnected As Boolean, safePipeHandle As SafePipeHandle)

参数

direction
PipeDirection

确定管道方向的枚举值之一。

isAsync
Boolean

true 指示句柄已异步打开;否则为 false

isConnected
Boolean

指示管道已连接,则为 true;否则为 false

safePipeHandle
SafePipeHandle

NamedPipeClientStream 对象将封装的管道的安全句柄。

属性

例外

已关闭流。

safePipeHandle 不是有效的句图柄。

safePipeHandlenull

direction 不是有效的 PipeDirection 值。

适用于

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

使用指定的管道和服务器名称,以及指定的管道方向和管道选项初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName, System::IO::Pipes::PipeDirection direction, System::IO::Pipes::PipeOptions options);
public NamedPipeClientStream (string serverName, string pipeName, System.IO.Pipes.PipeDirection direction, System.IO.Pipes.PipeOptions options);
new System.IO.Pipes.NamedPipeClientStream : string * string * System.IO.Pipes.PipeDirection * System.IO.Pipes.PipeOptions -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String, direction As PipeDirection, options As PipeOptions)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

direction
PipeDirection

确定管道方向的枚举值之一。

options
PipeOptions

确定如何打开或创建管道的枚举值之一。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

注解

此构造函数使用以下默认值:

适用于

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel)

使用指定的管道和服务器名称、指定的管道方向和管道选项以及安全模拟级别初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName, System::IO::Pipes::PipeDirection direction, System::IO::Pipes::PipeOptions options, System::Security::Principal::TokenImpersonationLevel impersonationLevel);
public NamedPipeClientStream (string serverName, string pipeName, System.IO.Pipes.PipeDirection direction, System.IO.Pipes.PipeOptions options, System.Security.Principal.TokenImpersonationLevel impersonationLevel);
new System.IO.Pipes.NamedPipeClientStream : string * string * System.IO.Pipes.PipeDirection * System.IO.Pipes.PipeOptions * System.Security.Principal.TokenImpersonationLevel -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String, direction As PipeDirection, options As PipeOptions, impersonationLevel As TokenImpersonationLevel)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

direction
PipeDirection

确定管道方向的枚举值之一。

options
PipeOptions

确定如何打开或创建管道的枚举值之一。

impersonationLevel
TokenImpersonationLevel

确定安全模拟级别的枚举值之一。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

注解

此构造函数使用默认值 HandleInheritabilityNone

适用于

NamedPipeClientStream(String, String, PipeAccessRights, PipeOptions, TokenImpersonationLevel, HandleInheritability)

使用指定的管道和服务器名称、指定的管道选项、安全模拟级别以及继承模式初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName, System::IO::Pipes::PipeAccessRights desiredAccessRights, System::IO::Pipes::PipeOptions options, System::Security::Principal::TokenImpersonationLevel impersonationLevel, System::IO::HandleInheritability inheritability);
public NamedPipeClientStream (string serverName, string pipeName, System.IO.Pipes.PipeAccessRights desiredAccessRights, System.IO.Pipes.PipeOptions options, System.Security.Principal.TokenImpersonationLevel impersonationLevel, System.IO.HandleInheritability inheritability);
new System.IO.Pipes.NamedPipeClientStream : string * string * System.IO.Pipes.PipeAccessRights * System.IO.Pipes.PipeOptions * System.Security.Principal.TokenImpersonationLevel * System.IO.HandleInheritability -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String, desiredAccessRights As PipeAccessRights, options As PipeOptions, impersonationLevel As TokenImpersonationLevel, inheritability As HandleInheritability)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

desiredAccessRights
PipeAccessRights

指定所需管道访问权限的枚举值之一。

options
PipeOptions

确定如何打开或创建管道的枚举值之一。

impersonationLevel
TokenImpersonationLevel

确定安全模拟级别的枚举值之一。

inheritability
HandleInheritability

确定基础句柄是否将由子进程继承的枚举值之一。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

注解

此构造函数的管道方向由 desiredAccessRights 参数确定。 desiredAccessRights如果值为值ReadData,则管道方向将为In。 如果值为 desiredAccessRightsWriteData则管道方向为 OutdesiredAccessRights如果包含两者ReadData的值,WriteData则管道方向将为 InOut

适用于

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel, HandleInheritability)

使用指定的管道和服务器名称、指定的管道方向、管道选项、安全模拟级别以及继承模式初始化 NamedPipeClientStream 类的新实例。

public:
 NamedPipeClientStream(System::String ^ serverName, System::String ^ pipeName, System::IO::Pipes::PipeDirection direction, System::IO::Pipes::PipeOptions options, System::Security::Principal::TokenImpersonationLevel impersonationLevel, System::IO::HandleInheritability inheritability);
public NamedPipeClientStream (string serverName, string pipeName, System.IO.Pipes.PipeDirection direction, System.IO.Pipes.PipeOptions options, System.Security.Principal.TokenImpersonationLevel impersonationLevel, System.IO.HandleInheritability inheritability);
new System.IO.Pipes.NamedPipeClientStream : string * string * System.IO.Pipes.PipeDirection * System.IO.Pipes.PipeOptions * System.Security.Principal.TokenImpersonationLevel * System.IO.HandleInheritability -> System.IO.Pipes.NamedPipeClientStream
Public Sub New (serverName As String, pipeName As String, direction As PipeDirection, options As PipeOptions, impersonationLevel As TokenImpersonationLevel, inheritability As HandleInheritability)

参数

serverName
String

要连接的远程计算机的名称,或者为“.”,以指定本地计算机。

pipeName
String

管道的名称。

direction
PipeDirection

确定管道方向的枚举值之一。

options
PipeOptions

确定如何打开或创建管道的枚举值之一。

impersonationLevel
TokenImpersonationLevel

确定安全模拟级别的枚举值之一。

inheritability
HandleInheritability

确定基础句柄是否将由子进程继承的枚举值之一。

例外

pipeNameserverNamenull

pipeNameserverName 是长度为零的字符串。

pipeName 设置为“匿名”。

适用于