
|
// *********************************************************************//
// Declaration of Enumerations defined in Type Library
// *********************************************************************//
typedef enum CapabilityFlags
{
cfHaveGlobalSettings = 1,
cfHaveRuleSettings = 2,
cfSelfLearning = 4,
cfCanGiveReason = 8
} CapabilityFlags;
typedef enum HostStatusFlags
{
hsStopped = 0,
hsRunning = 1,
hsActive = 2
} HostStatusFlags;
// *********************************************************************//
// Interface: IMessageHeaderFilter
// Flags: (256) OleAutomation
// GUID: {22A4CFC1-5A57-11D7-95CD-525405F076AF}
// *********************************************************************//
interface IMessageHeaderFilter : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE get_FieldCount(long* Value/*[out,retval]*/) = 0; // [1]
virtual HRESULT STDMETHODCALLTYPE get_Field(long Index/*[in]*/, BSTR* Value/*[out,retval]*/) = 0; // [2]
virtual HRESULT STDMETHODCALLTYPE get_FieldValue(long Index/*[in]*/, BSTR* Value/*[out,retval]*/) = 0; // [3]
virtual HRESULT STDMETHODCALLTYPE get_FieldValueByName(BSTR Name/*[in]*/,
BSTR* Value/*[out,retval]*/) = 0; // [4]
virtual HRESULT STDMETHODCALLTYPE get_DoesFieldExist(BSTR Name/*[in]*/,
TOLEBOOL* Value/*[out,retval]*/) = 0; // [5]
virtual HRESULT STDMETHODCALLTYPE get_ClientEMailAddress(BSTR* Value/*[out,retval]*/) = 0; // [6]
virtual HRESULT STDMETHODCALLTYPE get_ClientPOPServerName(BSTR* Value/*[out,retval]*/) = 0; // [7]
};
// *********************************************************************//
// Interface: IFilterPlugin
// Flags: (256) OleAutomation
// GUID: {59F77AE2-4042-44E1-9567-A769EBF2211D}
// *********************************************************************//
interface IFilterPlugin : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE get_InternalName(BSTR* Value/*[out,retval]*/) = 0; // [1]
virtual HRESULT STDMETHODCALLTYPE get_FriendlyName(BSTR* Value/*[out,retval]*/) = 0; // [2]
virtual HRESULT STDMETHODCALLTYPE get_Version(long* Value/*[out,retval]*/) = 0; // [3]
virtual HRESULT STDMETHODCALLTYPE Init(LPUNKNOWN Parent/*[in]*/) = 0; // [4]
virtual HRESULT STDMETHODCALLTYPE Free(void) = 0; // [5]
virtual HRESULT STDMETHODCALLTYPE ProcessMailMessage(Antispammailfilter_tlb::IMessageHeaderFilter* Header/*[in]*/,
float* IsSPAM/*[out,retval]*/) = 0; // [6]
virtual HRESULT STDMETHODCALLTYPE AfterProcessMailMessage(Antispammailfilter_tlb::IMessageHeaderFilter* Header/*[in]*/,
float WasSPAM/*[in]*/) = 0; // [7]
virtual HRESULT STDMETHODCALLTYPE GiveReasonOfDecision(BSTR* Reason/*[out,retval]*/) = 0; // [8]
virtual HRESULT STDMETHODCALLTYPE get_CapabilityFlags(unsigned_long* Value/*[out,retval]*/) = 0; // [9]
};
// *********************************************************************//
// Interface: IClientSideMailFilter
// Flags: (256) OleAutomation
// GUID: {A093F7A0-5EF1-11D7-95CD-525405F076AF}
// *********************************************************************//
interface IClientSideMailFilter : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE get_HostVersion(unsigned_long* Value/*[out,retval]*/) = 0; // [1]
virtual HRESULT STDMETHODCALLTYPE get_HostStatus(unsigned_long* Value/*[out,retval]*/) = 0; // [2]
};
// *********************************************************************//
// Interface: IFilterPluginSetup
// Flags: (256) OleAutomation
// GUID: {736908E0-8C98-11D7-95CD-525405F076AF}
// *********************************************************************//
interface IFilterPluginSetup : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OpenSettingsDialog(void) = 0; // [1]
virtual HRESULT STDMETHODCALLTYPE CustomizeRule(BSTR OldParams/*[in]*/, BSTR* NewParams/*[out]*/,
__int64* dwCookie/*[in,out]*/) = 0; // [2]
};