ratings.h 3.0 KB

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