// AForge Direct Show Library // AForge.NET framework // // Copyright © Andrew Kirillov, 2007 // andrew.kirillov@gmail.com // namespace AForge.Video.DirectShow.Internals { using System; using System.Runtime.InteropServices; /// /// The IPropertyBag interface provides an object with a property bag in /// which the object can persistently save its properties. /// /// [ComImport, Guid( "55272A00-42CB-11CE-8135-00AA004BB851" ), InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] internal interface IPropertyBag { /// /// Read a property from property bag. /// /// /// Property name to read. /// Property value. /// Caller's error log. /// /// Return's HRESULT error code. /// [PreserveSig] int Read( [In, MarshalAs( UnmanagedType.LPWStr )] string propertyName, [In, Out, MarshalAs( UnmanagedType.Struct )] ref object pVar, [In] IntPtr pErrorLog ); /// /// Write property to property bag. /// /// /// Property name to read. /// Property value. /// /// Return's HRESULT error code. /// [PreserveSig] int Write( [In, MarshalAs( UnmanagedType.LPWStr )] string propertyName, [In, MarshalAs( UnmanagedType.Struct )] ref object pVar ); } }