dinput: Avoid deadlock when CS are acquired in different order.
[wine.git] / include / slpublic.h
blob97fa8c798c9c7c6e10b28064d1f406702dbadf1c
1 /*
3 * Copyright 2008 Alistair Leslie-Hughes
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_SLPUBLIC_H
20 #define __WINE_SLPUBLIC_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 #ifdef _SLC_
27 #define SLCAPI
28 #else
29 #define SLCAPI DECLSPEC_IMPORT
30 #endif
32 typedef GUID SLID;
34 typedef PVOID HSLC;
36 typedef enum _tagSLDATATYPE
38 SL_DATA_NONE = REG_NONE,
39 SL_DATA_SZ = REG_SZ,
40 SL_DATA_DWORD = REG_DWORD,
41 SL_DATA_BINARY = REG_BINARY,
42 SL_DATA_MULTI_SZ = REG_MULTI_SZ,
43 SL_DATA_SUM = 100,
44 } SLDATATYPE;
46 typedef enum _tagSLLICENSINGSTATUS
48 SL_LICENSING_STATUS_UNLICENSED,
49 SL_LICENSING_STATUS_LICENSED,
50 SL_LICENSING_STATUS_IN_GRACE_PERIOD,
51 SL_LICENSING_STATUS_NOTIFICATION,
52 SL_LICENSING_STATUS_LAST
53 } SLLICENSINGSTATUS;
55 typedef struct _tagSL_LICENSING_STATUS
57 SLID SkuId;
58 SLLICENSINGSTATUS eStatus;
59 DWORD dwGraceTime;
60 DWORD dwTotalGraceDays;
61 HRESULT hrReason;
62 UINT64 qwValidityExpiration;
63 } SL_LICENSING_STATUS;
65 SLCAPI HRESULT WINAPI SLGetLicensingStatusInformation(HSLC, const SLID*, const SLID*, LPCWSTR, UINT*, SL_LICENSING_STATUS**);
66 SLCAPI HRESULT WINAPI SLGetWindowsInformation(LPCWSTR, SLDATATYPE*, UINT*, LPBYTE*);
67 SLCAPI HRESULT WINAPI SLGetWindowsInformationDWORD(LPCWSTR, LPDWORD);
68 SLCAPI HRESULT WINAPI SLOpen(HSLC*);
70 #ifdef __cplusplus
72 #endif
74 #endif /* __WINE_SLPUBLIC_H */