//+------------------------------------------------------------------------- // // Microsoft Windows Media Technologies // Copyright (C) Microsoft Corporation, 1999 - 2001. All Rights Reserved. // // File: WMSBuffer.idl // // Contents: // //-------------------------------------------------------------------------- cpp_quote( "//=========================================================================" ) cpp_quote( "//" ) cpp_quote( "// Microsoft Windows Media Technologies" ) cpp_quote( "// Copyright (C) Microsoft Corporation, 1999 - 2001. All Rights Reserved." ) cpp_quote( "//" ) cpp_quote( "//=========================================================================" ) cpp_quote("#if _MSC_VER > 1000") cpp_quote("#pragma once") cpp_quote("#endif // _MSC_VER > 1000") import "objidl.idl"; import "ocidl.idl"; cpp_quote( "EXTERN_GUID( IID_INSSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" ) cpp_quote( "EXTERN_GUID( IID_IWMSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" ) cpp_quote( "EXTERN_GUID( IID_IWMSBufferAllocator, 0x61103CA4,0x2033,0x11d2,0x9E,0xF1,0x00,0x60,0x97,0xD2,0xD7,0xCF );" ) cpp_quote( "EXTERN_GUID( IID_INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4, 0x28, 0x75, 0x75, 0x61, 0xad, 0x3a, 0x68);" ) ////////////////////////////////////////////////////////////////////////////// cpp_quote( "#define IWMSBuffer INSSBuffer" ) interface IWMSBuffer; ////////////////////////////////////////////////////////////////////////////// [ local, object, pointer_default(unique), uuid(E1CD3524-03D7-11d2-9EED-006097D2D7CF), version(1.0), ] interface INSSBuffer : IUnknown { HRESULT GetLength( [out] DWORD *pdwLength ); HRESULT SetLength( [in] DWORD dwLength ); HRESULT GetMaxLength( [out] DWORD *pdwLength ); HRESULT GetBuffer( [out] BYTE **ppdwBuffer ); HRESULT GetBufferAndLength( [out] BYTE **ppdwBuffer, [out] DWORD *pdwLength ); }; ////////////////////////////////////////////////////////////////////////////// [ local, object, pointer_default(unique), uuid(4F528693-1035-43fe-B428-757561AD3A68), version(1.0), ] interface INSSBuffer2 : INSSBuffer { HRESULT GetSampleProperties( [in] DWORD cbProperties, [out] BYTE *pbProperties ); HRESULT SetSampleProperties( [in] DWORD cbProperties, [in] BYTE *pbProperties ); }; ////////////////////////////////////////////////////////////////////////////// [ local, object, pointer_default(unique), uuid(61103CA4-2033-11d2-9EF1-006097D2D7CF), version(1.0), ] interface IWMSBufferAllocator : IUnknown { HRESULT AllocateBuffer( [in] DWORD dwMaxBufferSize, [out] INSSBuffer **ppBuffer ); HRESULT AllocatePageSizeBuffer( [in] DWORD dwMaxBufferSize, [out] INSSBuffer **ppBuffer ); }