windows-nt/Source/XPSP1/NT/multimedia/published/wmsdk/inc/wmsbuffer.idl
2020-09-26 16:20:57 +08:00

97 lines
2.8 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// 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
);
}