IPersistStream (Interfaces)
Last changed: -199.181.202.7

.
Summary
TODO - a short description

C# Definition:

[ComImport]
[Guid("TODO")]
//TODO: Insert [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] if this doesn't derive from IDispatch
interface IPersistStream {
   TODO;
}

VB Definition:

#Region "IPersistStream Interface Definition"

  '/// <summary>
  '/// Provides methods for reading from a simple serial stream (IStream).
  '/// Filter data is read-only, therefore all methods associated with
  '/// write operations should return E_NOTIMPL.
  '/// </summary>
  <ComImport(), _
   InterfaceType(ComInterfaceType.InterfaceIsIUnknown), _
   Guid("00000109-0000-0000-C000-000000000046")> _
  Public Interface IPersistStream
    'sub GetClassID(<Out()> ByRef pClassID As Guid)

    '/// <summary>
    '/// Checks the object for changes since it was last saved.
    '/// In the case of filters, this should always return either
    '/// S_FALSE or E_NOTIMPL, because the stream is read-only.
    '/// </summary>
    <PreserveSigAttribute()> Function IsDirty() As IFilterReturnCodes

    '/// <summary>
    '/// Initializes an object from the stream where it was previously saved.
    '/// Returns one of the following:
    '///  * S_OK: The object was successfully loaded.
    '///  * S_OUTOFMEMORY: The object was not loaded due to a lack of memory.
    '///  * S_FAIL: The object was not loaded due to some reason other than
    '///        a lack of memory.
    '/// NOTE:  Since we are reading from a stream, you would normally not
    '///    perform any actual loading of data is performed within this
    '///    method.  Instead, use it to initialize the load operation,
    '///    such as in saving a reference to the supplied stream for
    '///    later use within the GetChunk method.
    '/// </summary>
    Function Load(<[In](), MarshalAs(UnmanagedType.Interface)> ByVal pStm As Object) As IFilterReturnCodes

    '/// <summary>
    '/// Saves an object to the specified stream.  Filters are read-only,
    '/// so this method should always return E_NOTIMPL.
    '/// </summary>
    Function Save(<[In](), MarshalAs(UnmanagedType.Interface)> ByRef pStm As Object, _
          <[In](), MarshalAs(UnmanagedType.Bool)> ByVal fClearDirty As Boolean) As IFilterReturnCodes

    '/// <summary>
    '/// Returns the size in bytes of the stream needed to save the
    '/// object.  Since a filter's data is read-only, this method
    '/// should always return E_NOTIMPL.
    '/// </summary>
    <PreserveSigAttribute()> Function GetSizeMax(<Out()> ByRef pcbSize As UInt64) As IFilterReturnCodes
  End Interface

#End Region

User-Defined Types:

IFilterReturnCodes list the codes that the interface methods return.

Notes:

None.

Documentation