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_SLPUBLIC
|
---|
7 | #define _INC_SLPUBLIC
|
---|
8 | #if (_WIN32_WINNT >= 0x0600)
|
---|
9 |
|
---|
10 | #ifdef __cplusplus
|
---|
11 | extern "C" {
|
---|
12 | #endif
|
---|
13 |
|
---|
14 | typedef GUID SLID;
|
---|
15 |
|
---|
16 | typedef enum _SL_GENUINE_STATE {
|
---|
17 | SL_GEN_STATE_IS_GENUINE = 0,
|
---|
18 | SL_GEN_STATE_INVALID_LICENSE = 1,
|
---|
19 | SL_GEN_STATE_TAMPERED = 2,
|
---|
20 | SL_GEN_STATE_LAST = 3
|
---|
21 | } SL_GENUINE_STATE;
|
---|
22 |
|
---|
23 | typedef enum _tagSLDATATYPE {
|
---|
24 | SL_DATA_NONE = REG_NONE,
|
---|
25 | SL_DATA_SZ = REG_SZ,
|
---|
26 | SL_DATA_DWORD = REG_DWORD,
|
---|
27 | SL_DATA_BINARY = REG_BINARY,
|
---|
28 | SL_DATA_MULTI_SZ = REG_MULTI_SZ,
|
---|
29 | SL_DATA_SUM = 100
|
---|
30 | } SLDATATYPE;
|
---|
31 |
|
---|
32 | typedef struct _tagSL_NONGENUINE_UI_OPTIONS {
|
---|
33 | DWORD cbSize;
|
---|
34 | const SLID *pComponentId;
|
---|
35 | HRESULT hResultUI;
|
---|
36 | } SL_NONGENUINE_UI_OPTIONS;
|
---|
37 |
|
---|
38 | HRESULT WINAPI SLAcquireGenuineTicket(
|
---|
39 | void **ppTicketBlob,
|
---|
40 | UINT *pcbTicketBlob,
|
---|
41 | PCWSTR pwszTemplateId,
|
---|
42 | PCWSTR pwszServerUrl,
|
---|
43 | PCWSTR pwszClientToken
|
---|
44 | );
|
---|
45 |
|
---|
46 | HRESULT WINAPI SLGetGenuineInformation(
|
---|
47 | const SLID *pAppId,
|
---|
48 | PCWSTR pwszValueName,
|
---|
49 | SLDATATYPE *peDataType,
|
---|
50 | UINT *pcbValue,
|
---|
51 | BYTE **ppbValue
|
---|
52 | );
|
---|
53 |
|
---|
54 | HRESULT WINAPI SLGetInstalledSAMLicenseApplications(
|
---|
55 | UINT *pnReturnedAppIds,
|
---|
56 | SLID **ppReturnedAppIds
|
---|
57 | );
|
---|
58 |
|
---|
59 | HRESULT WINAPI SLGetSAMLicense(
|
---|
60 | const SLID *pApplicationId,
|
---|
61 | UINT *pcbXmlLicenseData,
|
---|
62 | PBYTE *ppbXmlLicenseData
|
---|
63 | );
|
---|
64 |
|
---|
65 | HRESULT WINAPI SLGetWindowsInformation(
|
---|
66 | PCWSTR pwszValueName,
|
---|
67 | SLDATATYPE *peDataType,
|
---|
68 | UINT *pcbValue,
|
---|
69 | PBYTE *ppbValue
|
---|
70 | );
|
---|
71 |
|
---|
72 | HRESULT WINAPI SLGetWindowsInformationDWORD(
|
---|
73 | PCWSTR pwszValueName,
|
---|
74 | DWORD *pdwValue
|
---|
75 | );
|
---|
76 |
|
---|
77 | HRESULT WINAPI SLInstallSAMLicense(
|
---|
78 | const SLID *pApplicationId,
|
---|
79 | UINT cbXmlLicenseData,
|
---|
80 | const BYTE *pbXmlLicenseData
|
---|
81 | );
|
---|
82 |
|
---|
83 | HRESULT WINAPI SLIsGenuineLocal(
|
---|
84 | const SLID *pAppId,
|
---|
85 | SL_GENUINE_STATE *pGenuineState,
|
---|
86 | SL_NONGENUINE_UI_OPTIONS *pUIOptions
|
---|
87 | );
|
---|
88 |
|
---|
89 | HRESULT WINAPI SLSetGenuineInformation(
|
---|
90 | const SLID *pAppId,
|
---|
91 | PCWSTR pwszValueName,
|
---|
92 | SLDATATYPE eDataType,
|
---|
93 | UINT cbValue,
|
---|
94 | const BYTE *pbValue
|
---|
95 | );
|
---|
96 |
|
---|
97 | HRESULT WINAPI SLUninstallSAMLicense(
|
---|
98 | const SLID *pApplicationId
|
---|
99 | );
|
---|
100 |
|
---|
101 | #if (_WIN32_WINNT >= 0x0601)
|
---|
102 | HRESULT WINAPI SLIsGenuineLocalEx(
|
---|
103 | const SLID *pAppId,
|
---|
104 | const SLID pSkuId,
|
---|
105 | SL_GENUINE_STATE *pGenuineState
|
---|
106 | );
|
---|
107 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
108 |
|
---|
109 | #ifdef __cplusplus
|
---|
110 | }
|
---|
111 | #endif
|
---|
112 | #endif /*(_WIN32_WINNT >= 0x0600)*/
|
---|
113 | #endif /*_INC_SLPUBLIC*/
|
---|