Tapi3ds.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
  4. #ifndef __TAPI3DS_IDL__
  5. #define __TAPI3DS_IDL__
  6. import "oaidl.idl";
  7. import "strmif.idl";
  8. // this is exposed by the Media Streaming Terminal (MST) samples
  9. [
  10.     uuid( 0364EB00-4A77-11D1-A671-006097C9A2E8 ),
  11.     helpstring("TAPI 3.0 ITAMMediaFormat interface"),
  12. ]
  13. interface ITAMMediaFormat : IUnknown
  14. {
  15.     [propget, id(1), helpstring("property Media Format")]
  16.     HRESULT MediaFormat(
  17.             [out, retval] AM_MEDIA_TYPE **ppmt
  18.             );
  19.     [propput, id(1), helpstring("property Media Format")]
  20.     HRESULT MediaFormat(
  21.             [in] const AM_MEDIA_TYPE *pmt
  22.             );
  23. };  
  24. // exposes the allocator properties of the Media Streaming Terminal (MST)
  25. // to a user. A user only needs to use this interface when he needs to
  26. // use his own buffers or needs to operate with a fixed set of samples
  27. [
  28.     uuid( C1BC3C90-BCFE-11D1-9745-00C04FD91AC0 ),
  29.     helpstring("TAPI 3.0 ITAllocatorProperties interface"),
  30. ]
  31. interface ITAllocatorProperties : IUnknown
  32. {
  33.     // this method may only be called before connection and will
  34.     // force the MST to use these values during filter negotiation
  35.     // if the connecting filter doesn't accept these, the connection
  36.     // shall not be established
  37.     [id(1), helpstring("method SetAllocatorProperties")]
  38.     HRESULT SetAllocatorProperties(
  39.         [in] ALLOCATOR_PROPERTIES *pAllocProperties
  40.         );
  41.     // gets current values for the allocator properties
  42.     // after connection, this provides the negotiated values
  43.     // it is invalid before connection. The MST will accept
  44.     // any values suggested by the filters it connects to
  45.     [id(2), helpstring("method GetAllocatorProperties")]
  46.     HRESULT GetAllocatorProperties(
  47.         [out] ALLOCATOR_PROPERTIES *pAllocProperties
  48.         );
  49.     // TRUE by default. when set to FALSE, the sample allocated
  50.     // by the MST don't have any buffers and they must be supplied
  51.     // before Update is called on the samples
  52.     [id(3), helpstring("method SetAllocateBuffers")]
  53.     HRESULT SetAllocateBuffers(
  54.         [in] BOOL bAllocBuffers
  55.         );
  56.     // returns the current value of this boolean configuration parameter
  57.     [id(4), helpstring("method GetAllocateBuffers")]
  58.     HRESULT GetAllocateBuffers(
  59.         [out] BOOL *pbAllocBuffers
  60.         );
  61.     // this size is used for allocating buffers when AllocateSample is
  62. // called. this is only valid when we have been told to allocate buffers
  63.     [id(5), helpstring("method SetBufferSize")]
  64.     HRESULT SetBufferSize(
  65.         [in] DWORD BufferSize
  66.         );
  67.     // returns the value used to allocate buffers when AllocateSample is
  68. // called. this is only valid when we have been told to allocate buffers
  69.     [id(6), helpstring("method GetBufferSize")]
  70.     HRESULT GetBufferSize(
  71.         [out] DWORD *pBufferSize
  72.         );
  73. };
  74. #endif