Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than Interfaces, prefix the name with the module name and a period.
IStream (Interfaces)
.
C# Definition:
[ComImport, Guid("0000000c-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IStream
{
void Read([Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pv, uint cb, out uint pcbRead);
void Write([MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pv, uint cb, out uint pcbWritten);
void Seek(long dlibMove, uint dwOrigin, out long plibNewPosition);
void SetSize(long libNewSize);
void CopyTo(IStream pstm, long cb, out long pcbRead, out long pcbWritten);
void Commit(uint grfCommitFlags);
void Revert();
void LockRegion(long libOffset, long cb, uint dwLockType);
void UnlockRegion(long libOffset, long cb, uint dwLockType);
void Stat(out STATSTG pstatstg, uint grfStatFlag);
void Clone(out IStream ppstm);
}
The Seek and CopyTo methods are documented as allowing NULL to be passed instead of output parameters, if the caller does not care what the result was. If you have consumers of your IStream that use it in this manner, you will need to replace the affected definitions with IntPtr values and use Marshal.WriteInt64() to assign them:
if (plibNewPosition!= IntPtr.Zero)
Marshal.WriteInt64(plibNewPosition, newStreamPosition);
Provides a managed definition of the IStream interface, with ISequentialStream functionality.
12/19/2011 11:38:12 AM - -173.221.47.98
Holds statistical information about a storage object.
7/8/2010 1:06:31 PM - -216.87.95.219
Provides a managed definition of the IStream interface, with ISequentialStream functionality.
12/19/2011 11:38:12 AM - -173.221.47.98
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
Please edit this page!
Do you have...
helpful tips?
corrections to the existing content?
alternate definitions?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing any supporting types needed.