Home | History | Annotate | Download | only in include
      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*/
    114