using System; namespace System.Runtime.InteropServices { /// Use instead. // Token: 0x0200035C RID: 860 [Obsolete] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("0000000c-0000-0000-c000-000000000046")] [ComImport] public interface UCOMIStream { /// Reads a specified number of bytes from the stream object into memory starting at the current seek pointer. /// On successful return, contains the data read frtom the stream. /// The number of bytes to read from the stream object. /// Pointer to a ULONG variable that receives the actual number of bytes read from the stream object. // Token: 0x0600237E RID: 9086 void Read([MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] [Out] byte[] pv, int cb, IntPtr pcbRead); /// Writes a specified number of bytes into the stream object starting at the current seek pointer. /// Buffer to write this stream to. /// The number of bytes to write into the stream. /// On successful return, contains the actual number of bytes written to the stream object. The caller can set this pointer to null, in which case this method does not provide the actual number of bytes written. // Token: 0x0600237F RID: 9087 void Write([MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] byte[] pv, int cb, IntPtr pcbWritten); /// Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer. /// Displacement to add to . /// Specifies the origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file. /// On successful return, contains the offset of the seek pointer from the beginning of the stream. // Token: 0x06002380 RID: 9088 void Seek(long dlibMove, int dwOrigin, IntPtr plibNewPosition); /// Changes the size of the stream object. /// Specifies the new size of the stream as a number of bytes. // Token: 0x06002381 RID: 9089 void SetSize(long libNewSize); /// Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream. /// Reference to the destination stream. /// The number of bytes to copy from the source stream. /// On successful return, contains the actual number of bytes read from the source. /// On successful return, contains the actual number of bytes written to the destination. // Token: 0x06002382 RID: 9090 void CopyTo(UCOMIStream pstm, long cb, IntPtr pcbRead, IntPtr pcbWritten); /// Ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. /// Controls how the changes for the stream object are committed. // Token: 0x06002383 RID: 9091 void Commit(int grfCommitFlags); /// Discards all changes that have been made to a transacted stream since the last call. // Token: 0x06002384 RID: 9092 void Revert(); /// Restricts access to a specified range of bytes in the stream. /// The byte offset for the beginning of the range. /// The length of the range, in bytes, to restrict. /// The requested restrictions on accessing the range. // Token: 0x06002385 RID: 9093 void LockRegion(long libOffset, long cb, int dwLockType); /// Removes the access restriction on a range of bytes previously restricted with . /// The byte offset for the beginning of the range. /// The length, in bytes, of the range to restrict. /// The access restrictions previously placed on the range. // Token: 0x06002386 RID: 9094 void UnlockRegion(long libOffset, long cb, int dwLockType); /// Retrieves the structure for this stream. /// On successful return, contains a STATSTG structure which describes this stream object. /// Specifies some of the members in the STATSTG structure that this method does not return, thus saving some memory allocation operations. // Token: 0x06002387 RID: 9095 void Stat(out STATSTG pstatstg, int grfStatFlag); /// Creates a new stream object with its own seek pointer that references the same bytes as the original stream. /// On successful return, contains the new stream object. // Token: 0x06002388 RID: 9096 void Clone(out UCOMIStream ppstm); } }