| 1 |
/** |
| 2 |
* This file is part of the mingw-w64 runtime package. |
| 3 |
* No warranty is given; refer to the file DISCLAIMER within this package. |
| 4 |
*/ |
| 5 |
#ifndef _RATINGS_H_ |
| 6 |
#define _RATINGS_H_ |
| 7 |
|
| 8 |
#include <winapifamily.h> |
| 9 |
|
| 10 |
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) |
| 11 |
|
| 12 |
#include <winerror.h> |
| 13 |
#include <shlwapi.h> |
| 14 |
|
| 15 |
STDAPI RatingEnable(HWND hwndParent,LPCSTR pszUsername,WINBOOL fEnable); |
| 16 |
STDAPI RatingEnableW(HWND hwndParent, LPCWSTR pszUsername, WINBOOL fEnable); |
| 17 |
STDAPI RatingCheckUserAccess(LPCSTR pszUsername,LPCSTR pszURL,LPCSTR pszRatingInfo,LPBYTE pData,DWORD cbData,void **ppRatingDetails); |
| 18 |
STDAPI RatingCheckUserAccessW(LPCWSTR pszUsername, LPCWSTR pszURL, LPCWSTR pszRatingInfo, LPBYTE pData, DWORD cbData, void **ppRatingDetails); |
| 19 |
STDAPI RatingAccessDeniedDialog(HWND hDlg,LPCSTR pszUsername,LPCSTR pszContentDescription,void *pRatingDetails); |
| 20 |
STDAPI RatingAccessDeniedDialog2(HWND hDlg,LPCSTR pszUsername,void *pRatingDetails); |
| 21 |
STDAPI RatingAccessDeniedDialogW(HWND hDlg, LPCWSTR pszUsername, LPCWSTR pszContentDescription, void *pRatingDetails); |
| 22 |
STDAPI RatingFreeDetails(void *pRatingDetails); |
| 23 |
STDAPI RatingObtainCancel(HANDLE hRatingObtainQuery); |
| 24 |
STDAPI RatingObtainQuery(LPCSTR pszTargetUrl,DWORD dwUserData,void (*fCallback)(DWORD dwUserData,HRESULT hr,LPCSTR pszRating,void *lpvRatingDetails),HANDLE *phRatingObtainQuery); |
| 25 |
STDAPI RatingObtainQueryW(LPCWSTR pszTargetUrl, DWORD dwUserData, void (*fCallback) (DWORD dwUserData, HRESULT hr, LPCWSTR pszRating, void *lpvRatingDetails),HANDLE *phRatingObtainQuery); |
| 26 |
STDAPI RatingSetupUI(HWND hDlg,LPCSTR pszUsername); |
| 27 |
STDAPI RatingSetupUIW (HWND hDlg, LPCWSTR pszUsername); |
| 28 |
#ifdef _INC_COMMCTRL |
| 29 |
STDAPI RatingAddPropertyPage(PROPSHEETHEADER *ppsh); |
| 30 |
#endif |
| 31 |
|
| 32 |
STDAPI RatingAddToApprovedSites (HWND hDlg, DWORD cbPasswordBlob, BYTE *pbPasswordBlob, LPCWSTR lpszUrl, WINBOOL fAlwaysNever, WINBOOL fSitePage, WINBOOL fApprovedSitesEnforced); |
| 33 |
STDAPI RatingClickedOnPRFInternal (HWND hWndOwner, HINSTANCE, LPSTR lpszFileName, int nShow); |
| 34 |
STDAPI RatingClickedOnRATInternal (HWND hWndOwner, HINSTANCE, LPSTR lpszFileName, int nShow); |
| 35 |
|
| 36 |
STDAPI RatingEnabledQuery(void); |
| 37 |
STDAPI RatingInit(void); |
| 38 |
STDAPI_(void) RatingTerm(void); |
| 39 |
|
| 40 |
static inline WINBOOL IS_RATINGS_ENABLED() { |
| 41 |
TCHAR sz[200]; |
| 42 |
DWORD typ, sz = sizeof (sz); |
| 43 |
return (SHGetValue(HKEY_LOCAL_MACHINE,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ratings"),TEXT("Key"), &typ,&sz, &sz) == ERROR_SUCCESS); |
| 44 |
} |
| 45 |
|
| 46 |
#define S_RATING_ALLOW S_OK |
| 47 |
#define S_RATING_DENY S_FALSE |
| 48 |
#define S_RATING_FOUND 0x00000002 |
| 49 |
#define E_RATING_NOT_FOUND 0x80000001 |
| 50 |
|
| 51 |
#undef INTERFACE |
| 52 |
#define INTERFACE IObtainRating |
| 53 |
DECLARE_INTERFACE_(IObtainRating,IUnknown) { |
| 54 |
#ifndef __cplusplus |
| 55 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppvObj) PURE; |
| 56 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 57 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 58 |
#endif |
| 59 |
STDMETHOD(ObtainRating) (THIS_ LPCSTR pszTargetUrl,HANDLE hAbortEvent,IMalloc *pAllocator,LPSTR *ppRatingOut) PURE; |
| 60 |
STDMETHOD_(ULONG,GetSortOrder) (THIS) PURE; |
| 61 |
}; |
| 62 |
#undef INTERFACE |
| 63 |
|
| 64 |
#define RATING_ORDER_REMOTESITE 0x80000000 |
| 65 |
#define RATING_ORDER_LOCALLIST 0xC0000000 |
| 66 |
|
| 67 |
#endif |
| 68 |
#endif |