C# Class SharpCifs.Smb.SmbNamedPipe

This class will allow a Java program to read and write data to Named Pipes and Transact NamedPipes.
This class will allow a Java program to read and write data to Named Pipes and Transact NamedPipes.

There are three Win32 function calls provided by the Windows SDK that are important in the context of using jCIFS. They are:

  • CallNamedPipe A message-type pipe call that opens, writes to, reads from, and closes the pipe in a single operation.
  • TransactNamedPipe A message-type pipe call that writes to and reads from an existing pipe descriptor in one operation.
  • CreateFile, ReadFile, WriteFile, and CloseFile A byte-type pipe can be opened, written to, read from and closed using the standard Win32 file operations.

The jCIFS API maps all of these operations into the standard Java XxxputStream interface. A special PIPE_TYPE flags is necessary to distinguish which type of Named Pipe behavior is desired.

SmbNamedPipe Constructor Examples
Code SampleDescription
 new SmbNamedPipe( "smb://server/IPC$/PIPE/foo", SmbNamedPipe.PIPE_TYPE_RDWR | SmbNamedPipe.PIPE_TYPE_CALL ); 
Open the Named Pipe foo for reading and writing. The pipe will behave like the CallNamedPipe interface.
 new SmbNamedPipe( "smb://server/IPC$/foo", SmbNamedPipe.PIPE_TYPE_RDWR | SmbNamedPipe.PIPE_TYPE_TRANSACT ); 
Open the Named Pipe foo for reading and writing. The pipe will behave like the TransactNamedPipe interface.
 new SmbNamedPipe( "smb://server/IPC$/foo", SmbNamedPipe.PIPE_TYPE_RDWR ); 
Open the Named Pipe foo for reading and writing. The pipe will behave as though the CreateFile, ReadFile, WriteFile, and CloseFile interface was being used.

See Using jCIFS to Connect to Win32 Named Pipes for a detailed description of how to use jCIFS with Win32 Named Pipe server processes.

Inheritance: SmbFile
Show file Open project: brandonprry/Potato Class Usage Examples

Public Methods

Method Description
GetNamedPipeInputStream ( ) : InputStream

Return the InputStream used to read information from this pipe instance.

Return the InputStream used to read information from this pipe instance. Presumably data would first be written to the OutputStream associated with this Named Pipe instance although this is not a requirement (e.g. a read-only named pipe would write data to this stream on connection). Reading from this stream may block. Therefore it may be necessary that an addition thread be used to read and write to a Named Pipe.

GetNamedPipeOutputStream ( ) : SharpCifs.Util.Sharpen.OutputStream

Return the OutputStream used to write information to this pipe instance.

Return the OutputStream used to write information to this pipe instance. The act of writing data to this stream will result in response data recieved in the InputStream associated with this Named Pipe instance (unless of course it does not elicite a response or the pipe is write-only).

SmbNamedPipe ( Uri url, int pipeType, NtlmPasswordAuthentication auth ) : System
SmbNamedPipe ( string url, int pipeType ) : System

Open the Named Pipe resource specified by the url parameter.

Open the Named Pipe resource specified by the url parameter. The pipeType parameter should be at least one of the PIPE_TYPE flags combined with the bitwise OR operator |. See the examples listed above.

SmbNamedPipe ( string url, int pipeType, NtlmPasswordAuthentication auth ) : System

Method Details

GetNamedPipeInputStream() public method

Return the InputStream used to read information from this pipe instance.
Return the InputStream used to read information from this pipe instance. Presumably data would first be written to the OutputStream associated with this Named Pipe instance although this is not a requirement (e.g. a read-only named pipe would write data to this stream on connection). Reading from this stream may block. Therefore it may be necessary that an addition thread be used to read and write to a Named Pipe.
public GetNamedPipeInputStream ( ) : InputStream
return SharpCifs.Util.Sharpen.InputStream

GetNamedPipeOutputStream() public method

Return the OutputStream used to write information to this pipe instance.
Return the OutputStream used to write information to this pipe instance. The act of writing data to this stream will result in response data recieved in the InputStream associated with this Named Pipe instance (unless of course it does not elicite a response or the pipe is write-only).
public GetNamedPipeOutputStream ( ) : SharpCifs.Util.Sharpen.OutputStream
return SharpCifs.Util.Sharpen.OutputStream

SmbNamedPipe() public method

public SmbNamedPipe ( Uri url, int pipeType, NtlmPasswordAuthentication auth ) : System
url System.Uri
pipeType int
auth NtlmPasswordAuthentication
return System

SmbNamedPipe() public method

Open the Named Pipe resource specified by the url parameter.
Open the Named Pipe resource specified by the url parameter. The pipeType parameter should be at least one of the PIPE_TYPE flags combined with the bitwise OR operator |. See the examples listed above.
public SmbNamedPipe ( string url, int pipeType ) : System
url string
pipeType int
return System

SmbNamedPipe() public method

public SmbNamedPipe ( string url, int pipeType, NtlmPasswordAuthentication auth ) : System
url string
pipeType int
auth NtlmPasswordAuthentication
return System