windows-nt/Source/XPSP1/NT/public/sdk/inc/ratingsp.idl
2020-09-26 16:20:57 +08:00

142 lines
3.9 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1999.
//
// Contents: private interface definitions between Custom and msrating
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Ratingsp.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright 1999 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("//Date : August 18, 1999")
cpp_quote("//DESCRIPTION : private interface definitions between Custom and msrating")
cpp_quote("//")
#ifndef DO_NO_IMPORTS
import "oleidl.idl";
import "oaidl.idl";
#endif
typedef enum tagRATING_BLOCKING_SOURCE
{
RBS_NO_RATINGS, // No rating where found
RBS_PAGE, // denied by page label
RBS_RATING_HELPER, // denied by a rating helper
RBS_CUSTOM_RATING_HELPER,
RBS_ERROR
} RATING_BLOCKING_SOURCE;
typedef enum tagRATING_BLOCKING_METHOD
{
RBM_DENY,
RBM_LABEL,
RBM_UNINIT,
RBM_ERROR_NOT_IN_CUSTOM_MODE,
} RATING_BLOCKING_METHOD;
typedef struct tagRATINGLEVEL
{
UINT nValue;
LPWSTR pwszValueName;
LPWSTR pwszDescription;
} RATINGLEVEL;
typedef struct tagRATINGCATEGORY
{
LPWSTR pwszCategoryName;
LPWSTR pwszTransmitName;
} RATINGCATEGORY;
typedef struct tagRATINGBLOCKINGCATEGORY
{
LPWSTR pwszCategoryName;
LPWSTR pwszTransmitName;
UINT nValue;
LPWSTR pwszValueName;
} RATINGBLOCKINGCATEGORY;
typedef struct tagRATINGBLOCKINGLABELLIST
{
LPWSTR pwszRatingSystemName;
UINT cBlockingLabels;
RATINGBLOCKINGCATEGORY* paRBLS;
} RATINGBLOCKINGLABELLIST;
typedef struct tagRATINGBLOCKINGINFO
{
LPWSTR pwszDeniedURL;
RATING_BLOCKING_SOURCE rbSource;
RATING_BLOCKING_METHOD rbMethod;
UINT cLabels;
RATINGBLOCKINGLABELLIST* prbLabelList;
LPWSTR pwszRatingHelperName;
LPWSTR pwszRatingHelperReason;
} RATINGBLOCKINGINFO;
typedef struct tagRATINGCATEGORYSETTING
{
LPSTR pszValueName;
UINT nValue;
} RATINGCATEGORYSETTING;
typedef struct tagRATINGSYSTEMSETTING
{
LPSTR pszRatingSystemName;
UINT cCategories;
RATINGCATEGORYSETTING* paRCS;
} RATINGSYSTEMSETTING;
interface IRatingNotification;
interface ICustomRatingHelper;
[
object,
uuid(639447BD-B2D3-44b9-9FB0-510F23CB45E4),
pointer_default(unique)
]
interface IRatingNotification : IUnknown
{
HRESULT AccessDeniedNotify( [in] RATINGBLOCKINGINFO* rbInfo );
HRESULT IsRatingsEnabled();
}
cpp_quote("")
cpp_quote("#define SID_SRatingNotification IID_IRatingNotification")
cpp_quote("")
[
object,
uuid(D0D9842D-E211-4b2c-88DC-BC729342DFCB),
pointer_default(unique),
local
]
interface ICustomRatingHelper : IUnknown
{
HRESULT ObtainCustomRating( [in] LPCSTR pszTargetUrl,
[in] HANDLE hAbortEvent,
[in] IMalloc *pAllocator,
[out] LPSTR *ppRatingOut,
[out] LPSTR *ppRatingName,
[out] LPSTR *ppRatingReason);
}
cpp_quote("STDAPI RatingCustomInit(BOOL bInit = TRUE);")
cpp_quote("STDAPI RatingCustomAddRatingSystem(LPSTR pszRatingSystemBuffer, UINT nBufferSize);")
cpp_quote("STDAPI RatingCustomSetUserOptions(RATINGSYSTEMSETTING* pRSSettings, UINT cSettings);")
cpp_quote("STDAPI RatingCustomAddRatingHelper(LPCSTR pszLibraryName, CLSID clsid, DWORD dwSort);")
cpp_quote("STDAPI RatingCustomRemoveRatingHelper(CLSID clsid);")
cpp_quote("STDAPI RatingCustomCrackData(LPCSTR pszUsername, void* pvRatingDetails, RATINGBLOCKINGINFO** pprbInfo);")
cpp_quote("STDAPI RatingCustomDeleteCrackedData(RATINGBLOCKINGINFO* prblInfo);")
cpp_quote("STDAPI RatingCustomSetDefaultBureau(LPCSTR pszRatingBureau);")