Leaked source code of windows server 2003
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.

92 lines
3.2 KiB

  1. //*****************************************************************************
  2. //
  3. // Microsoft Windows Media
  4. // Copyright (C) Microsoft Corporation. All rights reserved.
  5. //
  6. // FileName: wmsbuffer.idl
  7. //
  8. // Abstract:
  9. //
  10. //*****************************************************************************
  11. cpp_quote("//*****************************************************************************")
  12. cpp_quote("//")
  13. cpp_quote("// Microsoft Windows Media")
  14. cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
  15. cpp_quote("//")
  16. cpp_quote("// Automatically generated by Midl from wmsbuffer.idl" )
  17. cpp_quote("//")
  18. cpp_quote("// DO NOT EDIT THIS FILE.")
  19. cpp_quote("//")
  20. cpp_quote("//*****************************************************************************")
  21. cpp_quote("#if _MSC_VER > 1000")
  22. cpp_quote("#pragma once")
  23. cpp_quote("#endif // _MSC_VER > 1000")
  24. import "objidl.idl";
  25. cpp_quote( "EXTERN_GUID( IID_INSSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  26. cpp_quote( "EXTERN_GUID( IID_IWMSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  27. cpp_quote( "EXTERN_GUID( IID_IWMSBufferAllocator, 0x61103CA4,0x2033,0x11d2,0x9E,0xF1,0x00,0x60,0x97,0xD2,0xD7,0xCF );" )
  28. //////////////////////////////////////////////////////////////////////////////
  29. cpp_quote( "#define IWMSBuffer INSSBuffer" )
  30. interface IWMSBuffer;
  31. //////////////////////////////////////////////////////////////////////////////
  32. [
  33. local,
  34. object,
  35. pointer_default(unique),
  36. uuid(E1CD3524-03D7-11d2-9EED-006097D2D7CF),
  37. version(1.0),
  38. helpstring("Provides methods for managing a buffer.")
  39. ]
  40. interface INSSBuffer : IUnknown
  41. {
  42. [helpstring("Retrieves the number of bytes in the buffer that are being used to store data.")] HRESULT
  43. GetLength( [out] DWORD *pdwLength );
  44. [helpstring("Specifies the number of bytes in the buffer that are being used to store data.")] HRESULT
  45. SetLength( [in] DWORD dwLength );
  46. [helpstring("Retrieves the maximum number of bytes that can be stored in the buffer.")] HRESULT
  47. GetMaxLength( [out] DWORD *pdwLength );
  48. [helpstring("Retrieves the buffer.")] HRESULT
  49. GetBuffer( [out] BYTE **ppbBuffer );
  50. [helpstring("Retrieves the buffer and the number of bytes in the buffer that are being used to store data.")] HRESULT
  51. GetBufferAndLength( [out] BYTE **ppbBuffer, [out] DWORD *pdwLength );
  52. };
  53. //////////////////////////////////////////////////////////////////////////////
  54. [
  55. local,
  56. object,
  57. pointer_default(unique),
  58. uuid(61103CA4-2033-11d2-9EF1-006097D2D7CF),
  59. version(1.0),
  60. helpstring("Provides methods for allocating a buffer.")
  61. ]
  62. interface IWMSBufferAllocator : IUnknown
  63. {
  64. [helpstring("Allocates a buffer.")] HRESULT
  65. AllocateBuffer(
  66. [in] DWORD dwMaxBufferSize,
  67. [out] INSSBuffer **ppBuffer
  68. );
  69. [helpstring("Allocates a page aligned buffer that is a multiple of a page size.")] HRESULT
  70. AllocatePageSizeBuffer(
  71. [in] DWORD dwMaxBufferSize,
  72. [out] INSSBuffer **ppBuffer
  73. );
  74. };