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 |
|
---|
9 | typedef ULONG DRMHANDLE;
|
---|
10 | typedef ULONG DRMPUBHANDLE;
|
---|
11 | typedef ULONG DRMHSESSION;
|
---|
12 | typedef ULONG DRMENVHANDLE;
|
---|
13 | typedef ULONG DRMQUERYHANDLE;
|
---|
14 |
|
---|
15 | typedef enum _DRM_STATUS_MSG {
|
---|
16 | DRM_MSG_ACTIVATE_MACHINE = 0,
|
---|
17 | DRM_MSG_ACTIVATE_GROUPIDENTITY,
|
---|
18 | DRM_MSG_ACQUIRE_LICENSE,
|
---|
19 | DRM_MSG_ACQUIRE_ISSUANCE_LICENSE_TEMPLATE,
|
---|
20 | DRM_MSG_ACQUIRE_ADVISORY,
|
---|
21 | DRM_MSG_SIGN_ISSUANCE_LICENSE,
|
---|
22 | DRM_MSG_ACQUIRE_CLIENTLICENSOR
|
---|
23 | } DRM_STATUS_MSG;
|
---|
24 |
|
---|
25 | typedef enum _DRMGLOBALOPTIONS {
|
---|
26 | DRMGLOBALOPTIONS_USE_WINHTTP = 0x00,
|
---|
27 | DRMGLOBALOPTIONS_USE_SERVERSECURITYPROCESSOR = 0x01
|
---|
28 | } DRMGLOBALOPTIONS;
|
---|
29 |
|
---|
30 | typedef enum _DRM_DISTRIBUTION_POINT_INFO {
|
---|
31 | DRM_DISTRIBUTION_POINT_LICENSE_ACQUISITION = 0,
|
---|
32 | DRM_DISTRIBUTION_POINT_PUBLISHING,
|
---|
33 | DRM_DISTRIBUTION_POINT_REFERRAL_INFO
|
---|
34 | } DRM_DISTRIBUTION_POINT_INFO;
|
---|
35 |
|
---|
36 | typedef enum _DRM_USAGEPOLICY_TYPE {
|
---|
37 | DRM_USAGEPOLICY_TYPE_BYNAME = 0,
|
---|
38 | DRM_USAGEPOLICY_TYPE_BYPUBLICKEY,
|
---|
39 | DRM_USAGEPOLICY_TYPE_BYDIGEST,
|
---|
40 | DRM_USAGEPOLICY_TYPE_OSEXCLUSION
|
---|
41 | } DRM_USAGEPOLICY_TYPE;
|
---|
42 |
|
---|
43 | typedef enum _DRMATTESTTYPE {
|
---|
44 | DRMATTESTTYPE_FULLENVIRONMENT = 0,
|
---|
45 | DRMATTESTTYPE_HASHONLY
|
---|
46 | } DRMATTESTTYPE;
|
---|
47 |
|
---|
48 | typedef enum _DRMENCODINGTYPE {
|
---|
49 | DRMENCODINGTYPE_BASE64 = 0,
|
---|
50 | DRMENCODINGTYPE_STRING,
|
---|
51 | DRMENCODINGTYPE_LONG,
|
---|
52 | DRMENCODINGTYPE_TIME,
|
---|
53 | DRMENCODINGTYPE_UINT,
|
---|
54 | DRMENCODINGTYPE_RAW
|
---|
55 | } DRMENCODINGTYPE;
|
---|
56 |
|
---|
57 | typedef enum _DRMSECURITYPROVIDERTYPE {
|
---|
58 | DRMSECURITYPROVIDERTYPE_SOFTWARESECREP = 0
|
---|
59 | } DRMSECURITYPROVIDERTYPE;
|
---|
60 |
|
---|
61 | typedef enum _DRMSPECTYPE {
|
---|
62 | DRMSPECTYPE_UNKNOWN,
|
---|
63 | DRMSPECTYPE_FILENAME
|
---|
64 | } DRMSPECTYPE;
|
---|
65 |
|
---|
66 | typedef enum _DRMTIMETYPE {
|
---|
67 | DRMTIMETYPE_SYSTEMUTC = 0,
|
---|
68 | DRMTIMETYPE_SYSTEMLOCAL
|
---|
69 | } DRMTIMETYPE;
|
---|
70 |
|
---|
71 | typedef struct _DRM_ACTSERV_INFO {
|
---|
72 | UINT uVersion;
|
---|
73 | PWSTR wszPubKey;
|
---|
74 | PWSTR wszURL;
|
---|
75 | } DRM_ACTSERV_INFO;
|
---|
76 |
|
---|
77 | typedef struct _DRM_CLIENT_VERSION_INFO {
|
---|
78 | UINT uStructVersion;
|
---|
79 | DWORD dwVersion[4];
|
---|
80 | WCHAR wszHierarchy[256];
|
---|
81 | WCHAR wszProductID[256];
|
---|
82 | WCHAR wszProductDescription[256];
|
---|
83 | } DRM_CLIENT_VERSION_INFO;
|
---|
84 |
|
---|
85 | typedef struct _DRMID {
|
---|
86 | UINT uVersion;
|
---|
87 | WCHAR *wszIDType;
|
---|
88 | WCHAR *wszID;
|
---|
89 | } DRMID;
|
---|
90 |
|
---|
91 | typedef struct _DRMBOUNDLICENSEPARAMS {
|
---|
92 | UINT uVersion;
|
---|
93 | DRMHANDLE hEnablingPrincipal;
|
---|
94 | DRMHANDLE hSecureStore;
|
---|
95 | PWSTR wszRightsRequested;
|
---|
96 | PWSTR wszRightsGroup;
|
---|
97 | DRMID idResource;
|
---|
98 | UINT cAuthenticatorCount;
|
---|
99 | DRMHANDLE *rghAuthenticators;
|
---|
100 | PWSTR wszDefaultEnablingPrincipalCredentials;
|
---|
101 | DWORD dwFlags;
|
---|
102 | } DRMBOUNDLICENSEPARAMS;
|
---|
103 |
|
---|
104 | typedef HRESULT (__stdcall *DRMCALLBACK)(
|
---|
105 | DRM_STATUS_MSG msg,
|
---|
106 | HRESULT hr,
|
---|
107 | VOID *pvParam,
|
---|
108 | VOID *pvContext
|
---|
109 | );
|
---|
110 |
|
---|
111 | #endif /*_INC_MSDRMDEFS*/
|
---|