WindowsXP/Source/XPSP1/NT/public/sdk/inc/tapi3ds.idl
2024-08-03 16:30:48 +02:00

89 lines
2.9 KiB
Plaintext

//
// Copyright (c) Microsoft Corporation. All rights reserved.
cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
#ifndef __TAPI3DS_IDL__
#define __TAPI3DS_IDL__
import "oaidl.idl";
import "strmif.idl";
// this is exposed by the Media Streaming Terminal (MST) samples
[
uuid( 0364EB00-4A77-11D1-A671-006097C9A2E8 ),
helpstring("TAPI 3.0 ITAMMediaFormat interface"),
]
interface ITAMMediaFormat : IUnknown
{
[propget, id(1), helpstring("property Media Format")]
HRESULT MediaFormat(
[out, retval] AM_MEDIA_TYPE **ppmt
);
[propput, id(1), helpstring("property Media Format")]
HRESULT MediaFormat(
[in] const AM_MEDIA_TYPE *pmt
);
};
// exposes the allocator properties of the Media Streaming Terminal (MST)
// to a user. A user only needs to use this interface when he needs to
// use his own buffers or needs to operate with a fixed set of samples
[
uuid( C1BC3C90-BCFE-11D1-9745-00C04FD91AC0 ),
helpstring("TAPI 3.0 ITAllocatorProperties interface"),
]
interface ITAllocatorProperties : IUnknown
{
// this method may only be called before connection and will
// force the MST to use these values during filter negotiation
// if the connecting filter doesn't accept these, the connection
// shall not be established
[id(1), helpstring("method SetAllocatorProperties")]
HRESULT SetAllocatorProperties(
[in] ALLOCATOR_PROPERTIES *pAllocProperties
);
// gets current values for the allocator properties
// after connection, this provides the negotiated values
// it is invalid before connection. The MST will accept
// any values suggested by the filters it connects to
[id(2), helpstring("method GetAllocatorProperties")]
HRESULT GetAllocatorProperties(
[out] ALLOCATOR_PROPERTIES *pAllocProperties
);
// TRUE by default. when set to FALSE, the sample allocated
// by the MST don't have any buffers and they must be supplied
// before Update is called on the samples
[id(3), helpstring("method SetAllocateBuffers")]
HRESULT SetAllocateBuffers(
[in] BOOL bAllocBuffers
);
// returns the current value of this boolean configuration parameter
[id(4), helpstring("method GetAllocateBuffers")]
HRESULT GetAllocateBuffers(
[out] BOOL *pbAllocBuffers
);
// this size is used for allocating buffers when AllocateSample is
// called. this is only valid when we have been told to allocate buffers
[id(5), helpstring("method SetBufferSize")]
HRESULT SetBufferSize(
[in] DWORD BufferSize
);
// returns the value used to allocate buffers when AllocateSample is
// called. this is only valid when we have been told to allocate buffers
[id(6), helpstring("method GetBufferSize")]
HRESULT GetBufferSize(
[out] DWORD *pBufferSize
);
};
#endif