CreateAndRegisterStream Delegate

Creates and registers a stream and is called by a report server to retrieve the stream to which to render a report.

Namespace: Microsoft.ReportingServices.Interfaces
Assembly: Microsoft.ReportingServices.Interfaces (in microsoft.reportingservices.interfaces.dll)


Public Delegate Function CreateAndRegisterStream ( _
    name As String, _
    extension As String, _
    encoding As Encoding, _
    mimeType As String, _
    willSeek As Boolean, _
    operation As StreamOper _
) As Stream
public delegate Stream CreateAndRegisterStream (
    string name,
    string extension,
    Encoding encoding,
    string mimeType,
    bool willSeek,
    StreamOper operation
public delegate Stream^ CreateAndRegisterStream (
    String^ name, 
    String^ extension, 
    Encoding^ encoding, 
    String^ mimeType, 
    bool willSeek, 
    StreamOper operation
/** @delegate */
public delegate Stream CreateAndRegisterStream (
    String name, 
    String extension, 
    Encoding encoding, 
    String mimeType, 
    boolean willSeek, 
    StreamOper operation
JScript supports the use of delegates, but not the declaration of new ones.


  • name
    The name of the stream. The first stream asked for must be the main body of the report, for example, the HTML for an HTML rendering, or the first page for a page-based rendering. The names must be unique within a report and must use only the characters 0-9, a-z (lower case only) and underscore (_). The underscore may not be used as the first character of the name.
  • extension
    The file extension of the stream.
  • encoding
    The character encoding of the stream. This can be null if the stream does not contain characters.
  • mimeType
    The MIME type of the stream.
  • willSeek
    Whether the stream needs to be seek-enabled. If false, the stream is forward only and is sent to the client in chunks, as created. If true, the stream is spooled to disk and not sent until it is closed. The default value is false.
  • operation
    Indicates the operation (a StreamOper value) that the method performs.


The main body of the report must be the first stream created. To refer to this stream in another stream, use the StreamURL of the Report object, concatenated with the name, a period, and the extension. For example, if the StreamURL is "myfiles" and this is stream "myImage" and it is a JPEG file, the stream can be referenced as "myFiles/myImage.jpg".

There can be multiple streams to render. The first time CreateAndRenderStream is called, the primary stream containing the report is returned. Any subsequent calls to CreateAndRenderStream return additional streams that have been stored in the cache. You use secondary streams when your rendering output is a composition of data chunks. For example, when the HTML rendering extensions renders a report containing pictures, the rendering extension renders the HTML page as a primary stream, and each picture is a secondary stream (one stream per picture). Inside of the HTML page, the rendering extension puts links to these secondary streams that contain the pictures. When the browser opens the HTML page, it attempts to get the pictures by following the links to the pictures. To create a link from the primary stream to the secondary stream, use the StreamURL method on the Report class as indicated previously.


Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also


Microsoft.ReportingServices.Interfaces Namespace