Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
2.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows Media Technologies
  4. // Copyright (C) Microsoft Corporation, 1999 - 2001. All Rights Reserved.
  5. //
  6. // File: WMSBuffer.idl
  7. //
  8. // Contents:
  9. //
  10. //--------------------------------------------------------------------------
  11. cpp_quote( "//=========================================================================" )
  12. cpp_quote( "//" )
  13. cpp_quote( "// Microsoft Windows Media Technologies" )
  14. cpp_quote( "// Copyright (C) Microsoft Corporation, 1999 - 2001. All Rights Reserved." )
  15. cpp_quote( "//" )
  16. cpp_quote( "//=========================================================================" )
  17. cpp_quote("#if _MSC_VER > 1000")
  18. cpp_quote("#pragma once")
  19. cpp_quote("#endif // _MSC_VER > 1000")
  20. import "objidl.idl";
  21. import "ocidl.idl";
  22. cpp_quote( "EXTERN_GUID( IID_INSSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  23. cpp_quote( "EXTERN_GUID( IID_IWMSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  24. cpp_quote( "EXTERN_GUID( IID_IWMSBufferAllocator, 0x61103CA4,0x2033,0x11d2,0x9E,0xF1,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  25. cpp_quote( "EXTERN_GUID( IID_INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4, 0x28, 0x75, 0x75, 0x61, 0xad, 0x3a, 0x68);" )
  26. //////////////////////////////////////////////////////////////////////////////
  27. cpp_quote( "#define IWMSBuffer INSSBuffer" )
  28. interface IWMSBuffer;
  29. //////////////////////////////////////////////////////////////////////////////
  30. [
  31. local,
  32. object,
  33. pointer_default(unique),
  34. uuid(E1CD3524-03D7-11d2-9EED-006097D2D7CF),
  35. version(1.0),
  36. ]
  37. interface INSSBuffer : IUnknown
  38. {
  39. HRESULT GetLength( [out] DWORD *pdwLength );
  40. HRESULT SetLength( [in] DWORD dwLength );
  41. HRESULT GetMaxLength( [out] DWORD *pdwLength );
  42. HRESULT GetBuffer( [out] BYTE **ppdwBuffer );
  43. HRESULT GetBufferAndLength( [out] BYTE **ppdwBuffer, [out] DWORD *pdwLength );
  44. };
  45. //////////////////////////////////////////////////////////////////////////////
  46. [
  47. local,
  48. object,
  49. pointer_default(unique),
  50. uuid(4F528693-1035-43fe-B428-757561AD3A68),
  51. version(1.0),
  52. ]
  53. interface INSSBuffer2 : INSSBuffer
  54. {
  55. HRESULT GetSampleProperties( [in] DWORD cbProperties, [out] BYTE *pbProperties );
  56. HRESULT SetSampleProperties( [in] DWORD cbProperties, [in] BYTE *pbProperties );
  57. };
  58. //////////////////////////////////////////////////////////////////////////////
  59. [
  60. local,
  61. object,
  62. pointer_default(unique),
  63. uuid(61103CA4-2033-11d2-9EF1-006097D2D7CF),
  64. version(1.0),
  65. ]
  66. interface IWMSBufferAllocator : IUnknown
  67. {
  68. HRESULT AllocateBuffer(
  69. [in] DWORD dwMaxBufferSize,
  70. [out] INSSBuffer **ppBuffer
  71. );
  72. HRESULT AllocatePageSizeBuffer(
  73. [in] DWORD dwMaxBufferSize,
  74. [out] INSSBuffer **ppBuffer
  75. );
  76. }