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 11extern "C" { 12#endif 13 14typedef GUID SLID; 15 16typedef 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 23typedef 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 32typedef struct _tagSL_NONGENUINE_UI_OPTIONS { 33 DWORD cbSize; 34 const SLID *pComponentId; 35 HRESULT hResultUI; 36} SL_NONGENUINE_UI_OPTIONS; 37 38HRESULT WINAPI SLAcquireGenuineTicket( 39 void **ppTicketBlob, 40 UINT *pcbTicketBlob, 41 PCWSTR pwszTemplateId, 42 PCWSTR pwszServerUrl, 43 PCWSTR pwszClientToken 44); 45 46HRESULT WINAPI SLGetGenuineInformation( 47 const SLID *pAppId, 48 PCWSTR pwszValueName, 49 SLDATATYPE *peDataType, 50 UINT *pcbValue, 51 BYTE **ppbValue 52); 53 54HRESULT WINAPI SLGetInstalledSAMLicenseApplications( 55 UINT *pnReturnedAppIds, 56 SLID **ppReturnedAppIds 57); 58 59HRESULT WINAPI SLGetSAMLicense( 60 const SLID *pApplicationId, 61 UINT *pcbXmlLicenseData, 62 PBYTE *ppbXmlLicenseData 63); 64 65HRESULT WINAPI SLGetWindowsInformation( 66 PCWSTR pwszValueName, 67 SLDATATYPE *peDataType, 68 UINT *pcbValue, 69 PBYTE *ppbValue 70); 71 72HRESULT WINAPI SLGetWindowsInformationDWORD( 73 PCWSTR pwszValueName, 74 DWORD *pdwValue 75); 76 77HRESULT WINAPI SLInstallSAMLicense( 78 const SLID *pApplicationId, 79 UINT cbXmlLicenseData, 80 const BYTE *pbXmlLicenseData 81); 82 83HRESULT WINAPI SLIsGenuineLocal( 84 const SLID *pAppId, 85 SL_GENUINE_STATE *pGenuineState, 86 SL_NONGENUINE_UI_OPTIONS *pUIOptions 87); 88 89HRESULT WINAPI SLSetGenuineInformation( 90 const SLID *pAppId, 91 PCWSTR pwszValueName, 92 SLDATATYPE eDataType, 93 UINT cbValue, 94 const BYTE *pbValue 95); 96 97HRESULT WINAPI SLUninstallSAMLicense( 98 const SLID *pApplicationId 99); 100 101#if (_WIN32_WINNT >= 0x0601) 102HRESULT 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*/ 114