# IHelper

Description:

`IHelper` provides general helper functions for accessing from script environments.
```cpp
import "OxSvrSpt.idl"
```
Public Methods:
```cpp
HRESULT WriteStringToStreamAsAscii ([in] IStream * Stream, [in] BSTR Text)
HRESULT ReadStringFromStreamAsAscii ([in] IStream * Stream, [in] long Length, [out, retval] BSTR * pOut)
HRESULT CreateStream ([out, retval] IStream ** ppVal)
```
Documentation of Element Functions:

* `HRESULT CreateStream ([out, retval] IStream ** ppVal)`

`CreateStream` creates a new `IStream` object and returns it.

* `HRESULT ReadStringFromStreamAsAscii ([in] IStream * Stream, [in] long Length, [out, retval] BSTR * pOut)`

`ReadStringFromStreamAsAscii` reads text as ASCII characters from the stream.

The specified amount of ASCII characters are read from the `Stream` and returned as a basic string. If the `Stream` contains fewer characters than requested, all remaining characters until the end of the stream are read and returned. The method begins reading at the position where the current position pointer of the `Stream` is located. After reading, the position pointer remains at the position where it stood after the read operation.

Parameters:

: `Stream` `IStream` instance from which to read.

: `Length` number of characters to be read at most.

: `pOut` (VB return parameter) read characters from the stream, converted to a BSTR.

* `HRESULT WriteStringToStreamAsAscii ([in] IStream * Stream, [in] BSTR Text)`

`WriteStringToStreamAsAscii` writes the passed text to the specified `Stream`.

The text is expected as a `BSTR` and written to the `Stream` in ASCII-converted form. Before writing, the position pointer of the `Stream` is set to the end.

Parameters:

: `Stream` stream to which the data should be written.

: `Text` the text as a basic string to be transferred to the `Stream`.
