diff --git a/dlls/slc/slc.c b/dlls/slc/slc.c index 7b7a6c6f77f..ffecaa07bff 100644 --- a/dlls/slc/slc.c +++ b/dlls/slc/slc.c @@ -31,6 +31,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(slc); +HRESULT WINAPI SLGetLicensingStatusInformation(HSLC handle, const SLID *app, const SLID *product, + LPCWSTR name, UINT *count, SL_LICENSING_STATUS **status) +{ + FIXME("(%p %p %p %s %p %p) stub\n", handle, app, product, debugstr_w(name), count, status ); + + return SL_E_RIGHT_NOT_CONSUMED; +} + HRESULT WINAPI SLGetWindowsInformation(LPCWSTR name, SLDATATYPE *type, UINT *val, LPBYTE *size) { FIXME("(%s %p %p %p) stub\n", debugstr_w(name), type, val, size ); diff --git a/dlls/slc/slc.spec b/dlls/slc/slc.spec index e4289d3ae1c..57e55728c17 100644 --- a/dlls/slc/slc.spec +++ b/dlls/slc/slc.spec @@ -16,7 +16,7 @@ @ stub SLGetLicense @ stub SLGetLicenseFileId @ stub SLGetLicenseInformation -@ stub SLGetLicensingStatusInformation +@ stdcall SLGetLicensingStatusInformation(ptr ptr ptr wstr ptr ptr) @ stub SLGetPKeyId @ stub SLGetPKeyInformation @ stub SLGetPolicyInformation diff --git a/include/slerror.h b/include/slerror.h index 8b45d999015..4980a96e73d 100644 --- a/include/slerror.h +++ b/include/slerror.h @@ -19,6 +19,7 @@ #ifndef __WINE_SLERROR_H #define __WINE_SLERROR_H +#define SL_E_RIGHT_NOT_CONSUMED 0xC004F002 #define SL_E_VALUE_NOT_FOUND 0xC004F012 #define SL_E_RIGHT_NOT_GRANTED 0xC004F013 #define SL_E_DATATYPE_MISMATCHED 0xC004F01E diff --git a/include/slpublic.h b/include/slpublic.h index dc02f3ce084..97fa8c798c9 100644 --- a/include/slpublic.h +++ b/include/slpublic.h @@ -29,6 +29,8 @@ extern "C" { #define SLCAPI DECLSPEC_IMPORT #endif +typedef GUID SLID; + typedef PVOID HSLC; typedef enum _tagSLDATATYPE @@ -41,6 +43,26 @@ typedef enum _tagSLDATATYPE SL_DATA_SUM = 100, } SLDATATYPE; +typedef enum _tagSLLICENSINGSTATUS +{ + SL_LICENSING_STATUS_UNLICENSED, + SL_LICENSING_STATUS_LICENSED, + SL_LICENSING_STATUS_IN_GRACE_PERIOD, + SL_LICENSING_STATUS_NOTIFICATION, + SL_LICENSING_STATUS_LAST +} SLLICENSINGSTATUS; + +typedef struct _tagSL_LICENSING_STATUS +{ + SLID SkuId; + SLLICENSINGSTATUS eStatus; + DWORD dwGraceTime; + DWORD dwTotalGraceDays; + HRESULT hrReason; + UINT64 qwValidityExpiration; +} SL_LICENSING_STATUS; + +SLCAPI HRESULT WINAPI SLGetLicensingStatusInformation(HSLC, const SLID*, const SLID*, LPCWSTR, UINT*, SL_LICENSING_STATUS**); SLCAPI HRESULT WINAPI SLGetWindowsInformation(LPCWSTR, SLDATATYPE*, UINT*, LPBYTE*); SLCAPI HRESULT WINAPI SLGetWindowsInformationDWORD(LPCWSTR, LPDWORD); SLCAPI HRESULT WINAPI SLOpen(HSLC*);