1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //------------------------------------------------------------------------------
- // <copyright file="IStream.cs" company="Microsoft">
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- //------------------------------------------------------------------------------
- using System;
- using System.Runtime.InteropServices;
- namespace Experimental.System.Messaging.Interop
- {
- [ComImport(),
- Guid("0000000C-0000-0000-C000-000000000046"),
- InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- internal interface IStream
- {
- int Read(IntPtr buf, int len);
- int Write(IntPtr buf, int len);
- [return: MarshalAs(UnmanagedType.I8)]
- long Seek([In, MarshalAs(UnmanagedType.I8)] long dlibMove, int dwOrigin);
- void SetSize([In, MarshalAs(UnmanagedType.I8)] long libNewSize);
- [return: MarshalAs(UnmanagedType.I8)]
- long CopyTo([In, MarshalAs(UnmanagedType.Interface)] IStream pstm,
- [In, MarshalAs(UnmanagedType.I8)] long cb,
- [Out, MarshalAs(UnmanagedType.LPArray)] long[] pcbRead);
- void Commit(int grfCommitFlags);
- void Revert();
- void LockRegion([In, MarshalAs(UnmanagedType.I8)] long libOffset,
- [In, MarshalAs(UnmanagedType.I8)] long cb,
- int dwLockType);
- void UnlockRegion([In, MarshalAs(UnmanagedType.I8)] long libOffset,
- [In, MarshalAs(UnmanagedType.I8)] long cb,
- int dwLockType);
- void Stat(IntPtr pStatstg, int grfStatFlag);
- [return: MarshalAs(UnmanagedType.Interface)]
- IStream Clone();
- }
- }
|