diff fuhtark_test/include/winapi/ratings.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/ratings.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,50 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef _RATINGS_H_
+#define _RATINGS_H_
+
+#include <winerror.h>
+#include <shlwapi.h>
+
+STDAPI RatingEnable(HWND hwndParent,LPCSTR pszUsername,WINBOOL fEnable);
+STDAPI RatingCheckUserAccess(LPCSTR pszUsername,LPCSTR pszURL,LPCSTR pszRatingInfo,LPBYTE pData,DWORD cbData,void **ppRatingDetails);
+STDAPI RatingAccessDeniedDialog(HWND hDlg,LPCSTR pszUsername,LPCSTR pszContentDescription,void *pRatingDetails);
+STDAPI RatingAccessDeniedDialog2(HWND hDlg,LPCSTR pszUsername,void *pRatingDetails);
+STDAPI RatingFreeDetails(void *pRatingDetails);
+STDAPI RatingObtainCancel(HANDLE hRatingObtainQuery);
+STDAPI RatingObtainQuery(LPCSTR pszTargetUrl,DWORD dwUserData,void (*fCallback)(DWORD dwUserData,HRESULT hr,LPCSTR pszRating,void *lpvRatingDetails),HANDLE *phRatingObtainQuery);
+STDAPI RatingSetupUI(HWND hDlg,LPCSTR pszUsername);
+#ifdef _INC_COMMCTRL
+STDAPI RatingAddPropertyPage(PROPSHEETHEADER *ppsh);
+#endif
+
+STDAPI RatingEnabledQuery();
+STDAPI RatingInit();
+STDAPI_(void) RatingTerm();
+
+static inline WINBOOL IS_RATINGS_ENABLED() {
+  TCHAR szSup[200];
+  DWORD dwType;
+  DWORD cbSize = sizeof(szSup);
+  return (SHGetValue(HKEY_LOCAL_MACHINE,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ratings"),TEXT("Key"),&dwType,&szSup,&cbSize)==ERROR_SUCCESS);
+}
+
+#define S_RATING_ALLOW S_OK
+#define S_RATING_DENY S_FALSE
+#define S_RATING_FOUND 0x00000002
+#define E_RATING_NOT_FOUND 0x80000001
+
+DECLARE_INTERFACE_(IObtainRating,IUnknown) {
+  STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppvObj) PURE;
+  STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+  STDMETHOD_(ULONG,Release) (THIS) PURE;
+  STDMETHOD(ObtainRating) (THIS_ LPCSTR pszTargetUrl,HANDLE hAbortEvent,IMalloc *pAllocator,LPSTR *ppRatingOut) PURE;
+  STDMETHOD_(ULONG,GetSortOrder) (THIS) PURE;
+};
+
+#define RATING_ORDER_REMOTESITE 0x80000000
+#define RATING_ORDER_LOCALLIST 0xC0000000
+#endif