msdrmdefs.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_MSDRMDEFS
  7. #define _INC_MSDRMDEFS
  8. typedef ULONG DRMHANDLE;
  9. typedef ULONG DRMPUBHANDLE;
  10. typedef ULONG DRMHSESSION;
  11. typedef ULONG DRMENVHANDLE;
  12. typedef ULONG DRMQUERYHANDLE;
  13. typedef enum _DRM_STATUS_MSG {
  14. DRM_MSG_ACTIVATE_MACHINE = 0,
  15. DRM_MSG_ACTIVATE_GROUPIDENTITY,
  16. DRM_MSG_ACQUIRE_LICENSE,
  17. DRM_MSG_ACQUIRE_ISSUANCE_LICENSE_TEMPLATE,
  18. DRM_MSG_ACQUIRE_ADVISORY,
  19. DRM_MSG_SIGN_ISSUANCE_LICENSE,
  20. DRM_MSG_ACQUIRE_CLIENTLICENSOR
  21. } DRM_STATUS_MSG;
  22. typedef enum _DRMGLOBALOPTIONS {
  23. DRMGLOBALOPTIONS_USE_WINHTTP = 0x00,
  24. DRMGLOBALOPTIONS_USE_SERVERSECURITYPROCESSOR = 0x01
  25. } DRMGLOBALOPTIONS;
  26. typedef enum _DRM_DISTRIBUTION_POINT_INFO {
  27. DRM_DISTRIBUTION_POINT_LICENSE_ACQUISITION = 0,
  28. DRM_DISTRIBUTION_POINT_PUBLISHING,
  29. DRM_DISTRIBUTION_POINT_REFERRAL_INFO
  30. } DRM_DISTRIBUTION_POINT_INFO;
  31. typedef enum _DRM_USAGEPOLICY_TYPE {
  32. DRM_USAGEPOLICY_TYPE_BYNAME = 0,
  33. DRM_USAGEPOLICY_TYPE_BYPUBLICKEY,
  34. DRM_USAGEPOLICY_TYPE_BYDIGEST,
  35. DRM_USAGEPOLICY_TYPE_OSEXCLUSION
  36. } DRM_USAGEPOLICY_TYPE;
  37. typedef enum _DRMATTESTTYPE {
  38. DRMATTESTTYPE_FULLENVIRONMENT = 0,
  39. DRMATTESTTYPE_HASHONLY
  40. } DRMATTESTTYPE;
  41. typedef enum _DRMENCODINGTYPE {
  42. DRMENCODINGTYPE_BASE64 = 0,
  43. DRMENCODINGTYPE_STRING,
  44. DRMENCODINGTYPE_LONG,
  45. DRMENCODINGTYPE_TIME,
  46. DRMENCODINGTYPE_UINT,
  47. DRMENCODINGTYPE_RAW
  48. } DRMENCODINGTYPE;
  49. typedef enum _DRMSECURITYPROVIDERTYPE {
  50. DRMSECURITYPROVIDERTYPE_SOFTWARESECREP = 0
  51. } DRMSECURITYPROVIDERTYPE;
  52. typedef enum _DRMSPECTYPE {
  53. DRMSPECTYPE_UNKNOWN,
  54. DRMSPECTYPE_FILENAME
  55. } DRMSPECTYPE;
  56. typedef enum _DRMTIMETYPE {
  57. DRMTIMETYPE_SYSTEMUTC = 0,
  58. DRMTIMETYPE_SYSTEMLOCAL
  59. } DRMTIMETYPE;
  60. typedef struct _DRM_ACTSERV_INFO {
  61. UINT uVersion;
  62. PWSTR wszPubKey;
  63. PWSTR wszURL;
  64. } DRM_ACTSERV_INFO;
  65. typedef struct _DRM_CLIENT_VERSION_INFO {
  66. UINT uStructVersion;
  67. DWORD dwVersion[4];
  68. WCHAR wszHierarchy[256];
  69. WCHAR wszProductID[256];
  70. WCHAR wszProductDescription[256];
  71. } DRM_CLIENT_VERSION_INFO;
  72. typedef struct _DRMID {
  73. UINT uVersion;
  74. WCHAR *wszIDType;
  75. WCHAR *wszID;
  76. } DRMID;
  77. typedef struct _DRMBOUNDLICENSEPARAMS {
  78. UINT uVersion;
  79. DRMHANDLE hEnablingPrincipal;
  80. DRMHANDLE hSecureStore;
  81. PWSTR wszRightsRequested;
  82. PWSTR wszRightsGroup;
  83. DRMID idResource;
  84. UINT cAuthenticatorCount;
  85. DRMHANDLE *rghAuthenticators;
  86. PWSTR wszDefaultEnablingPrincipalCredentials;
  87. DWORD dwFlags;
  88. } DRMBOUNDLICENSEPARAMS;
  89. typedef HRESULT (__stdcall *DRMCALLBACK)(
  90. DRM_STATUS_MSG msg,
  91. HRESULT hr,
  92. VOID *pvParam,
  93. VOID *pvContext
  94. );
  95. #endif /*_INC_MSDRMDEFS*/