/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_SLPUBLIC
#define _INC_SLPUBLIC
#if (_WIN32_WINNT >= 0x0600)
#ifdef __cplusplus
extern "C" {
#endif
typedef GUID SLID;
typedef enum _SL_GENUINE_STATE {
SL_GEN_STATE_IS_GENUINE = 0,
SL_GEN_STATE_INVALID_LICENSE = 1,
SL_GEN_STATE_TAMPERED = 2,
SL_GEN_STATE_LAST = 3
} SL_GENUINE_STATE;
typedef enum _tagSLDATATYPE {
SL_DATA_NONE = REG_NONE,
SL_DATA_SZ = REG_SZ,
SL_DATA_DWORD = REG_DWORD,
SL_DATA_BINARY = REG_BINARY,
SL_DATA_MULTI_SZ = REG_MULTI_SZ,
SL_DATA_SUM = 100
} SLDATATYPE;
typedef struct _tagSL_NONGENUINE_UI_OPTIONS {
DWORD cbSize;
const SLID *pComponentId;
HRESULT hResultUI;
} SL_NONGENUINE_UI_OPTIONS;
HRESULT WINAPI SLAcquireGenuineTicket(
void **ppTicketBlob,
UINT *pcbTicketBlob,
PCWSTR pwszTemplateId,
PCWSTR pwszServerUrl,
PCWSTR pwszClientToken
);
HRESULT WINAPI SLGetGenuineInformation(
const SLID *pAppId,
PCWSTR pwszValueName,
SLDATATYPE *peDataType,
UINT *pcbValue,
BYTE **ppbValue
);
HRESULT WINAPI SLGetInstalledSAMLicenseApplications(
UINT *pnReturnedAppIds,
SLID **ppReturnedAppIds
);
HRESULT WINAPI SLGetSAMLicense(
const SLID *pApplicationId,
UINT *pcbXmlLicenseData,
PBYTE *ppbXmlLicenseData
);
HRESULT WINAPI SLGetWindowsInformation(
PCWSTR pwszValueName,
SLDATATYPE *peDataType,
UINT *pcbValue,
PBYTE *ppbValue
);
HRESULT WINAPI SLGetWindowsInformationDWORD(
PCWSTR pwszValueName,
DWORD *pdwValue
);
HRESULT WINAPI SLInstallSAMLicense(
const SLID *pApplicationId,
UINT cbXmlLicenseData,
const BYTE *pbXmlLicenseData
);
HRESULT WINAPI SLIsGenuineLocal(
const SLID *pAppId,
SL_GENUINE_STATE *pGenuineState,
SL_NONGENUINE_UI_OPTIONS *pUIOptions
);
HRESULT WINAPI SLSetGenuineInformation(
const SLID *pAppId,
PCWSTR pwszValueName,
SLDATATYPE eDataType,
UINT cbValue,
const BYTE *pbValue
);
HRESULT WINAPI SLUninstallSAMLicense(
const SLID *pApplicationId
);
#if (_WIN32_WINNT >= 0x0601)
HRESULT WINAPI SLIsGenuineLocalEx(
const SLID *pAppId,
const SLID pSkuId,
SL_GENUINE_STATE *pGenuineState
);
#endif /*(_WIN32_WINNT >= 0x0601)*/
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_SLPUBLIC*/