wmdrmsdk.idl 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * Copyright 2017 Alistair Leslie-Hughes
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. import "mfobjects.idl";
  21. import "mfidl.idl";
  22. typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS
  23. {
  24. WORD wCompressedDigitalVideo;
  25. WORD wUncompressedDigitalVideo;
  26. WORD wAnalogVideo;
  27. WORD wCompressedDigitalAudio;
  28. WORD wUncompressedDigitalAudio;
  29. } DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS;
  30. typedef struct _DRM_VIDEO_OUTPUT_PROTECTION
  31. {
  32. GUID guidId;
  33. BYTE bConfigData;
  34. } DRM_VIDEO_OUTPUT_PROTECTION;
  35. typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS
  36. {
  37. WORD cEntries;
  38. DRM_VIDEO_OUTPUT_PROTECTION *rgVop;
  39. } DRM_VIDEO_OUTPUT_PROTECTION_IDS;
  40. typedef struct _DRM_OPL_OUTPUT_IDS
  41. {
  42. WORD cIds;
  43. GUID *rgIds;
  44. } DRM_OPL_OUTPUT_IDS;
  45. typedef struct __tagDRM_COPY_OPL
  46. {
  47. WORD wMinimumCopyLevel;
  48. DRM_OPL_OUTPUT_IDS oplIdIncludes;
  49. DRM_OPL_OUTPUT_IDS oplIdExcludes;
  50. } DRM_COPY_OPL;
  51. typedef struct __tagDRM_PLAY_OPL
  52. {
  53. DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL;
  54. DRM_OPL_OUTPUT_IDS oplIdReserved;
  55. DRM_VIDEO_OUTPUT_PROTECTION_IDS vopi;
  56. } DRM_PLAY_OPL;
  57. [
  58. uuid(82435be0-f7c1-4df9-8103-eeabebf3d6e1),
  59. version(1.0)
  60. ]
  61. library WMDRMContentEnablerLib
  62. {
  63. importlib("stdole2.tlb");
  64. [
  65. uuid(82435bdf-f7c1-4df9-8103-eeabebf3d6e1)
  66. ]
  67. coclass WMDRMContentEnablerActivate
  68. {
  69. [default] interface IPersistStream;
  70. }
  71. }