xpmgr/BuildTools/Include/msfeeds.idl

998 lines
41 KiB
Plaintext

//+------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation. All Rights Reserved.
//
// File: msfeeds.idl
//
// Contents: RSS Platform Interfaces
//
//-------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// msfeeds.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// RSS Platform Interfaces.")
cpp_quote("")
import "oaidl.idl";
//
// Types
//
cpp_quote("// {FE6B11C3-C72E-4061-86C6-9D163121F229}")
cpp_quote("DEFINE_GUID(CLSID_XFeedsManager, 0xfe6b11c3, 0xc72e, 0x4061, 0x86, 0xc6, 0x9d, 0x16, 0x31, 0x21, 0xf2, 0x29);")
typedef [v1_enum] enum FEEDS_BACKGROUNDSYNC_ACTION
{
FBSA_DISABLE = 0,
FBSA_ENABLE = 1,
FBSA_RUNNOW = 2,
} FEEDS_BACKGROUNDSYNC_ACTION;
typedef [v1_enum] enum FEEDS_BACKGROUNDSYNC_STATUS
{
FBSS_DISABLED = 0,
FBSS_ENABLED = 1,
} FEEDS_BACKGROUNDSYNC_STATUS;
typedef [v1_enum] enum FEEDS_EVENTS_SCOPE
{
FES_ALL = 0,
FES_SELF_ONLY = 1,
FES_SELF_AND_CHILDREN_ONLY = 2,
} FEEDS_EVENTS_SCOPE;
typedef [v1_enum] enum FEEDS_EVENTS_MASK
{
FEM_FOLDEREVENTS = 0x00000001,
FEM_FEEDEVENTS = 0x00000002,
} FEEDS_EVENTS_MASK;
cpp_quote("")
cpp_quote("#define FEEDS_XML_COUNT_MAX ((UINT)-1)")
cpp_quote("")
typedef [v1_enum] enum FEEDS_XML_SORT_PROPERTY
{
FXSP_NONE = 0,
FXSP_PUBDATE = 1,
FXSP_DOWNLOADTIME = 2,
} FEEDS_XML_SORT_PROPERTY;
typedef [v1_enum] enum FEEDS_XML_SORT_ORDER
{
FXSO_NONE = 0,
FXSO_ASCENDING = 1,
FXSO_DESCENDING = 2,
} FEEDS_XML_SORT_ORDER;
typedef [v1_enum] enum FEEDS_XML_FILTER_FLAGS
{
FXFF_ALL = 0x00000000,
FXFF_UNREAD = 0x00000001,
FXFF_READ = 0x00000002,
} FEEDS_XML_FILTER_FLAGS;
typedef [v1_enum] enum FEEDS_XML_INCLUDE_FLAGS
{
FXIF_NONE = 0x00000000,
FXIF_CF_EXTENSIONS = 0x00000001,
} FEEDS_XML_INCLUDE_FLAGS;
typedef [v1_enum] enum FEEDS_DOWNLOAD_STATUS
{
FDS_NONE = 0,
FDS_PENDING = 1,
FDS_DOWNLOADING = 2,
FDS_DOWNLOADED = 3,
FDS_DOWNLOAD_FAILED = 4,
} FEEDS_DOWNLOAD_STATUS;
typedef [v1_enum] enum FEEDS_SYNC_SETTING
{
FSS_DEFAULT = 0,
FSS_INTERVAL = 1,
FSS_MANUAL = 2,
FSS_SUGGESTED = 3,
} FEEDS_SYNC_SETTING;
typedef [v1_enum] enum FEEDS_DOWNLOAD_ERROR
{
FDE_NONE = 0,
FDE_DOWNLOAD_FAILED = 1,
FDE_INVALID_FEED_FORMAT = 2,
FDE_NORMALIZATION_FAILED = 3,
FDE_PERSISTENCE_FAILED = 4,
FDE_DOWNLOAD_BLOCKED = 5,
FDE_CANCELED = 6,
FDE_UNSUPPORTED_AUTH = 7,
FDE_BACKGROUND_DOWNLOAD_DISABLED = 8,
FDE_NOT_EXIST = 9,
FDE_UNSUPPORTED_MSXML = 10,
FDE_UNSUPPORTED_DTD = 11,
FDE_DOWNLOAD_SIZE_LIMIT_EXCEEDED = 12,
FDE_ACCESS_DENIED = 13,
FDE_AUTH_FAILED = 14,
FDE_INVALID_AUTH = 15,
} FEEDS_DOWNLOAD_ERROR;
typedef [v1_enum] enum FEEDS_EVENTS_ITEM_COUNT_FLAGS
{
FEICF_READ_ITEM_COUNT_CHANGED = 0x00000001,
FEICF_UNREAD_ITEM_COUNT_CHANGED = 0x00000002,
} FEEDS_EVENTS_ITEM_COUNT_FLAGS;
typedef int FEICF;
//
// Platform custom HRESULT error codes (FACILITY_ITF)
//
typedef enum FEEDS_ERROR_CODE
{
FEC_E_ERRORBASE = 0xC0040200L,
FEC_E_INVALIDMSXMLPROPERTY = FEC_E_ERRORBASE, // 0
FEC_E_DOWNLOADSIZELIMITEXCEEDED, // 1
} FEEDS_ERROR_CODE;
//
// C++ Interfaces
//
[
uuid(5357e238-fb12-4aca-a930-cab7832b84bf) // IID_IXFeedsManager
]
interface IXFeedsManager : IUnknown
{
// Core methods
HRESULT RootFolder([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT IsSubscribed([in] LPCWSTR pszUrl, [out] BOOL* pbSubscribed);
// Helper methods
HRESULT ExistsFeed([in] LPCWSTR pszPath, [out] BOOL* pbFeedExists);
HRESULT GetFeed([in] LPCWSTR pszPath, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT GetFeedByUrl([in] LPCWSTR pszUrl, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT ExistsFolder([in] LPCWSTR pszPath, [out] BOOL* pbFolderExists);
HRESULT GetFolder([in] LPCWSTR pszPath, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT DeleteFeed([in] LPCWSTR pszPath);
HRESULT DeleteFolder([in] LPCWSTR pszPath);
// Background sync engine methods
HRESULT BackgroundSync([in] FEEDS_BACKGROUNDSYNC_ACTION fbsa);
HRESULT BackgroundSyncStatus([out] FEEDS_BACKGROUNDSYNC_STATUS* pfbss);
HRESULT DefaultInterval([out] UINT* puiInterval);
HRESULT SetDefaultInterval([in] UINT uiInterval);
HRESULT AsyncSyncAll();
// Feed Operations
HRESULT Normalize([in] IStream* pStreamIn, [out] IStream** ppStreamOut);
HRESULT ItemCountLimit([out] UINT* puiItemCountLimit);
};
[
uuid(dc43a9d5-5015-4301-8c96-a47434b4d658) // IID_IXFeedsEnum
]
interface IXFeedsEnum : IUnknown
{
HRESULT Count([out] UINT* puiCount);
HRESULT Item([in] UINT uiIndex, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
};
[
uuid(4c963678-3a51-4b88-8531-98b90b6508f2) // IID_IXFeedFolder
]
interface IXFeedFolder : IUnknown
{
// Folder methods
HRESULT Feeds([out] IXFeedsEnum** ppfe);
HRESULT Subfolders([out] IXFeedsEnum** ppfe);
HRESULT CreateFeed([in] LPCWSTR pszName, [in] LPCWSTR pszUrl, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT CreateSubfolder([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT ExistsFeed(LPCWSTR pszName, BOOL* pbFeedExists);
HRESULT ExistsSubfolder(LPCWSTR pszName, BOOL* pbSubfolderExists);
HRESULT GetFeed([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT GetSubfolder([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT Delete();
HRESULT Name([out] LPWSTR* ppszName);
HRESULT Rename([in] LPCWSTR pszName);
HRESULT Path([out] LPWSTR* ppszPath);
HRESULT Move([in] LPCWSTR pszPath);
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT IsRoot([out] BOOL* pbIsRootFeedFolder);
// Folder Eventing methods
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
// Folder Aggregate Property methods
HRESULT TotalUnreadItemCount([out] UINT* puiTotalUnreadItemCount);
HRESULT TotalItemCount([out] UINT* puiTotalItemCount);
};
[
uuid(7964b769-234a-4bb1-a5f4-90454c8ad07e) // IID_IXFeedFolderEvents
]
interface IXFeedFolderEvents : IUnknown
{
// Generic error
HRESULT Error();
// Folder
HRESULT FolderAdded([in] LPCWSTR pszPath);
HRESULT FolderDeleted([in] LPCWSTR pszPath);
HRESULT FolderRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FolderMovedFrom([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FolderMovedTo([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FolderItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
// Feed
HRESULT FeedAdded([in] LPCWSTR pszPath);
HRESULT FeedDeleted([in] LPCWSTR pszPath);
HRESULT FeedRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FeedUrlChanged([in] LPCWSTR pszPath);
HRESULT FeedMovedFrom([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FeedMovedTo([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FeedDownloading([in] LPCWSTR pszPath);
HRESULT FeedDownloadCompleted([in] LPCWSTR pszPath, [in] FEEDS_DOWNLOAD_ERROR fde);
HRESULT FeedItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
};
[
uuid(a44179a4-e0f6-403b-af8d-d080f425a451) // IID_IXFeed
]
interface IXFeed : IUnknown
{
// Feed methods
HRESULT Xml([in] UINT uiItemCount, [in] FEEDS_XML_SORT_PROPERTY sortProperty, [in] FEEDS_XML_SORT_ORDER sortOrder, [in] FEEDS_XML_FILTER_FLAGS filterFlags, [in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out] IStream** pps);
HRESULT Name([out] LPWSTR* ppszName);
HRESULT Rename([in] LPCWSTR pszName);
HRESULT Url([out] LPWSTR* ppszUrl);
HRESULT SetUrl([in] LPCWSTR pszUrl);
HRESULT LocalId([out] GUID* pguid);
HRESULT Path([out] LPWSTR* ppszPath);
HRESULT Move([in] LPCWSTR pszPath);
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT LastWriteTime([out] SYSTEMTIME* pstLastWriteTime);
HRESULT Delete();
HRESULT Download();
HRESULT AsyncDownload();
HRESULT CancelAsyncDownload();
HRESULT SyncSetting([out] FEEDS_SYNC_SETTING* pfss);
HRESULT SetSyncSetting([in] FEEDS_SYNC_SETTING fss);
HRESULT Interval([out] UINT* puiInterval);
HRESULT SetInterval([in] UINT uiInterval);
HRESULT LastDownloadTime([out] SYSTEMTIME* pstLastDownloadTime);
HRESULT LocalEnclosurePath([out] LPWSTR* ppszPath);
HRESULT Items([out] IXFeedsEnum** ppfe);
HRESULT GetItem([in] UINT uiId, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT MarkAllItemsRead();
HRESULT MaxItemCount([out] UINT* puiMaxItemCount);
HRESULT SetMaxItemCount([in] UINT uiMaxItemCount);
HRESULT DownloadEnclosuresAutomatically([out] BOOL* pbDownloadEnclosuresAutomatically);
HRESULT SetDownloadEnclosuresAutomatically([in] BOOL bDownloadEnclosuresAutomatically);
HRESULT DownloadStatus([out] FEEDS_DOWNLOAD_STATUS* pfds);
HRESULT LastDownloadError([out] FEEDS_DOWNLOAD_ERROR* pfde);
HRESULT Merge([in] IStream* pStream, [in] LPCWSTR pszUrl);
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
// Feed Property methods
HRESULT Title([out] LPWSTR* ppszTitle);
HRESULT Description([out] LPWSTR* ppszDescription);
HRESULT Link([out] LPWSTR* ppszHomePage);
HRESULT Image([out] LPWSTR* ppszImageUrl);
HRESULT LastBuildDate([out] SYSTEMTIME* pstLastBuildDate);
HRESULT PubDate([out] SYSTEMTIME* pstPubDate);
HRESULT Ttl([out] UINT* puiTtl);
HRESULT Language([out] LPWSTR* ppszLanguage);
HRESULT Copyright([out] LPWSTR* ppszCopyright);
HRESULT IsList([out] BOOL* pbIsList);
// Feed Eventing methods
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
// Feed Aggregate Property methods
HRESULT UnreadItemCount([out] UINT* puiUnreadItemCount);
HRESULT ItemCount([out] UINT* puiItemCount);
};
[
uuid(ce528e77-3716-4eb7-956d-f5e37502e12a) // IID_IXFeed2
]
interface IXFeed2 : IXFeed
{
HRESULT GetItemByEffectiveId([in] UINT uiEffectiveId, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT LastItemDownloadTime([out] SYSTEMTIME* pstLastItemDownloadTime);
HRESULT Username([out] LPWSTR* ppszUsername);
HRESULT Password([out] LPWSTR* ppszPassword);
HRESULT SetCredentials([in] LPCWSTR pszUsername, [in] LPCWSTR pszPassword);
HRESULT ClearCredentials();
};
[
uuid(1630852e-1263-465b-98e5-fe60ffec4ac2) // IID_IXFeedEvents
]
interface IXFeedEvents : IUnknown
{
// Generic error
HRESULT Error();
// Feed
HRESULT FeedDeleted([in] LPCWSTR pszPath);
HRESULT FeedRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FeedUrlChanged([in] LPCWSTR pszPath);
HRESULT FeedMoved([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
HRESULT FeedDownloading([in] LPCWSTR pszPath);
HRESULT FeedDownloadCompleted([in] LPCWSTR pszPath, [in] FEEDS_DOWNLOAD_ERROR fde);
HRESULT FeedItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
};
[
uuid(e757b2f5-e73e-434e-a1bf-2bd7c3e60fcb) // IID_IXFeedItem
]
interface IXFeedItem : IUnknown
{
HRESULT Xml([in] FEEDS_XML_INCLUDE_FLAGS fxif, [out] IStream** pps);
HRESULT Title([out] LPWSTR* ppszTitle);
HRESULT Link([out] LPWSTR* ppszUrl);
HRESULT Guid([out] LPWSTR* ppszGuid);
HRESULT Description([out] LPWSTR* ppszDescription);
HRESULT PubDate([out] SYSTEMTIME* pstPubDate);
HRESULT Comments([out] LPWSTR* ppszUrl);
HRESULT Author([out] LPWSTR* ppszAuthor);
HRESULT Enclosure([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT IsRead([out] BOOL* pbIsRead);
HRESULT SetIsRead([in] BOOL bIsRead);
HRESULT LocalId([out] UINT* puiId);
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT Delete();
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
HRESULT LastDownloadTime([out] SYSTEMTIME* pstLastDownloadTime);
HRESULT Modified([out] SYSTEMTIME* pstModifiedTime);
};
[
uuid(6cda2dc7-9013-4522-9970-2a9dd9ead5a3) // IID_IXFeedItem2
]
interface IXFeedItem2 : IXFeedItem
{
HRESULT EffectiveId([out] UINT* puiEffectiveId);
};
[
uuid(BFBFB953-644F-4792-B69C-DFACA4CBF89A) // IID_IXFeedEnclosure
]
interface IXFeedEnclosure : IUnknown
{
HRESULT Url([out] LPWSTR* ppszUrl);
HRESULT Type([out] LPWSTR* ppszMimeType);
HRESULT Length([out] UINT* puiLength);
HRESULT AsyncDownload();
HRESULT CancelAsyncDownload();
HRESULT DownloadStatus([out] FEEDS_DOWNLOAD_STATUS* pfds);
HRESULT LastDownloadError([out] FEEDS_DOWNLOAD_ERROR* pfde);
HRESULT LocalPath([out] LPWSTR* ppszPath);
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
HRESULT DownloadMimeType([out] LPWSTR* ppszMimeType);
HRESULT RemoveFile();
HRESULT SetFile([in] LPCWSTR pszDownloadUrl, [in] LPCWSTR pszDownloadFilePath, [in] LPCWSTR pszDownloadMimeType, [in] LPCWSTR pszEnclosureFilename);
};
#ifndef FEEDS_NOAUTOMATIONLIB
//
// Automation Library
//
[
uuid(9cdcd9c9-bc40-41c6-89c5-230466db0bd0), // LIB_Feeds
helpstring("Microsoft Feeds"),
lcid(0x0000),
version(2.0),
custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "Microsoft.Feeds.Interop")
]
library Feeds
{
importlib ("stdole2.tlb");
#include "msfeedsid.h"
//
// Dual interfaces
//
[
uuid(a74029cc-1f1a-4906-88f0-810638d86591), // IID_IFeedsManager
dual,
oleautomation
]
interface IFeedsManager : IDispatch
{
[id(DISPID_FEEDS_RootFolder), propget, helpstring("Retrieves the root subscription folder.")]
HRESULT RootFolder([out, retval] IDispatch** disp);
[id(DISPID_FEEDS_IsSubscribed), helpstring("Determines if the URL is in the system subscription store.")]
HRESULT IsSubscribed([in] BSTR feedUrl, [out, retval] VARIANT_BOOL* subscribed);
[id(DISPID_FEEDS_ExistsFeed), helpstring("Checks if a feed exists.")]
HRESULT ExistsFeed([in] BSTR feedPath, [out, retval] VARIANT_BOOL* exists);
[id(DISPID_FEEDS_GetFeed), helpstring("Retrieves a feed from its path.")]
HRESULT GetFeed([in] BSTR feedPath, [out, retval] IDispatch** disp);
[id(DISPID_FEEDS_GetFeedByUrl), helpstring("Retrieves a feed by its URL.")]
HRESULT GetFeedByUrl([in] BSTR feedUrl, [out, retval] IDispatch** disp);
[id(DISPID_FEEDS_ExistsFolder), helpstring("Checks if a feed folder exists.")]
HRESULT ExistsFolder([in] BSTR folderPath, [out, retval] VARIANT_BOOL* exists);
[id(DISPID_FEEDS_GetFolder), helpstring("Retrieves a folder from its path.")]
HRESULT GetFolder([in] BSTR folderPath, [out, retval] IDispatch** disp);
[id(DISPID_FEEDS_DeleteFeed), helpstring("Deletes a feed.")]
HRESULT DeleteFeed([in] BSTR feedPath);
[id(DISPID_FEEDS_DeleteFolder), helpstring("Deletes a feed folder.")]
HRESULT DeleteFolder([in] BSTR folderPath);
[id(DISPID_FEEDS_BackgroundSync), helpstring("Controls the behavior of background synchronization engine.")]
HRESULT BackgroundSync([in] FEEDS_BACKGROUNDSYNC_ACTION action);
[id(DISPID_FEEDS_BackgroundSyncStatus), propget, helpstring("Retrieves the background sync status.")]
HRESULT BackgroundSyncStatus([out, retval] FEEDS_BACKGROUNDSYNC_STATUS *status);
[id(DISPID_FEEDS_DefaultInterval), propget, helpstring("Retrieves the default update interval for feeds.")]
HRESULT DefaultInterval([out, retval] LONG* minutes);
[id(DISPID_FEEDS_DefaultInterval), propput, helpstring("Sets the default update interval for feeds.")]
HRESULT DefaultInterval([in] LONG minutes);
[id(DISPID_FEEDS_AsyncSyncAll), helpstring("Starts the background synchronization engine.")]
HRESULT AsyncSyncAll();
[id(DISPID_FEEDS_Normalize), helpstring("Converts a feed to the normalized form.")]
HRESULT Normalize([in] BSTR feedXmlIn, [out, retval] BSTR* feedXmlOut);
[id(DISPID_FEEDS_ItemCountLimit), propget, helpstring("Retrieves the maximum number of items retained for feeds.")]
HRESULT ItemCountLimit([out, retval] LONG* itemCountLimit);
};
[
uuid(e3cd0028-2eed-4c60-8fae-a3225309a836), // IID_IFeedsEnum
dual,
oleautomation
]
interface IFeedsEnum : IDispatch
{
[id(DISPID_FEEDSENUM_Count), propget, helpstring("Retrieves the number of objects in this collection.")]
HRESULT Count([out, retval] LONG* count);
[id(DISPID_FEEDSENUM_Item), helpstring("Returns an object by index.")]
HRESULT Item([in] LONG index, [out, retval] IDispatch** disp);
[id(DISPID_NEWENUM), propget, hidden, restricted]
HRESULT _NewEnum([out, retval] IEnumVARIANT** enumVar);
};
[
uuid(81f04ad1-4194-4d7d-86d6-11813cec163c), // IID_IFeedFolder
dual,
oleautomation
]
interface IFeedFolder : IDispatch
{
[id(DISPID_FEEDFOLDER_Feeds), propget, helpstring("Retrieves the collection of feeds in this folder.")]
HRESULT Feeds([out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_Subfolders), propget, helpstring("Retrieves the collection of subfolders in this folder.")]
HRESULT Subfolders([out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_CreateFeed), helpstring("Creates a new feed, and subscribes to it.")]
HRESULT CreateFeed([in] BSTR feedName, [in] BSTR feedUrl, [out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_CreateSubfolder), helpstring("Creates a new subfolder in the folder.")]
HRESULT CreateSubfolder([in] BSTR folderName, [out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_ExistsFeed), helpstring("Checks if a feed exists.")]
HRESULT ExistsFeed([in] BSTR feedName, [out, retval] VARIANT_BOOL* exists);
[id(DISPID_FEEDFOLDER_GetFeed), helpstring("Retrieves a feed by its name.")]
HRESULT GetFeed([in] BSTR feedName, [out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_ExistsSubfolder), helpstring("Checks if a subfolder exists.")]
HRESULT ExistsSubfolder([in] BSTR folderName, [out, retval] VARIANT_BOOL* exists);
[id(DISPID_FEEDFOLDER_GetSubfolder), helpstring("Retrieves a subfolder by its name.")]
HRESULT GetSubfolder([in] BSTR folderName, [out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_Delete), helpstring("Deletes this folder and all of its contents.")]
HRESULT Delete();
[id(DISPID_FEEDFOLDER_Name), propget, helpstring("Retrieves the name of the current folder.")]
HRESULT Name([out, retval] BSTR* folderName);
[id(DISPID_FEEDFOLDER_Rename), helpstring("Renames the folder.")]
HRESULT Rename([in] BSTR folderName);
[id(DISPID_FEEDFOLDER_Path), propget, helpstring("Retrieves the path of the current folder.")]
HRESULT Path([out, retval] BSTR* folderPath);
[id(DISPID_FEEDFOLDER_Move), helpstring("Moves the feed folder to a new location.")]
HRESULT Move([in] BSTR newParentPath);
[id(DISPID_FEEDFOLDER_Parent), propget, helpstring("Retrieves the parent of the current feed folder.")]
HRESULT Parent([out, retval] IDispatch** disp);
[id(DISPID_FEEDFOLDER_IsRoot), propget, helpstring("Checks to see whether the current folder is the root folder.")]
HRESULT IsRoot([out, retval] VARIANT_BOOL* isRoot);
[id(DISPID_FEEDFOLDER_TotalUnreadItemCount), propget, helpstring("Retrieves the total (aggregated) number of unread items.")]
HRESULT TotalUnreadItemCount([out, retval] LONG* count);
[id(DISPID_FEEDFOLDER_TotalItemCount), propget, helpstring("Retrieves the total (aggregated) number of items.")]
HRESULT TotalItemCount([out, retval] LONG* count);
[id(DISPID_FEEDFOLDER_GetWatcher), helpstring("Retrieves the appropriate interface for events.")]
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [out, retval] IDispatch** disp);
};
[
uuid(20a59fa6-a844-4630-9e98-175f70b4d55b), // IID_IFeedFolderEvents
dual,
oleautomation
]
interface IFeedFolderEvents : IDispatch
{
// Generic error
[id(DISPID_FEEDFOLDEREVENTS_Error), helpstring("Occurs when a feed folder event error occurs.")]
HRESULT Error();
// Folder
[id(DISPID_FEEDFOLDEREVENTS_FolderAdded), helpstring("Occurs when a folder or subfolder is added.")]
HRESULT FolderAdded([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FolderDeleted), helpstring("Occurs when a folder or subfolder is removed.")]
HRESULT FolderDeleted([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FolderRenamed), helpstring("Occurs when a folder or subfolder is renamed.")]
HRESULT FolderRenamed([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FolderMovedFrom), helpstring("Occurs when a folder or subfolder is moved from this folder.")]
HRESULT FolderMovedFrom([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FolderMovedTo), helpstring("Occurs when a folder or subfolder is moved to this folder.")]
HRESULT FolderMovedTo([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FolderItemCountChanged), helpstring("Occurs when the aggregated item count of a feed folder changes.")]
HRESULT FolderItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
// Feed
[id(DISPID_FEEDFOLDEREVENTS_FeedAdded), helpstring("Occurs when a feed is added to the folder.")]
HRESULT FeedAdded([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FeedDeleted), helpstring("Occurs when a feed is deleted from the folder.")]
HRESULT FeedDeleted([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FeedRenamed), helpstring("Occurs when a feed is renamed.")]
HRESULT FeedRenamed([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FeedUrlChanged), helpstring("Occurs when the URL of a feed is changed.")]
HRESULT FeedUrlChanged([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FeedMovedFrom), helpstring("Occurs when a feed is moved from this folder.")]
HRESULT FeedMovedFrom([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FeedMovedTo), helpstring("Occurs when a feed is moved to this folder.")]
HRESULT FeedMovedTo([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDFOLDEREVENTS_FeedDownloading), helpstring("Occurs when a feed starts to download.")]
HRESULT FeedDownloading([in] const BSTR path);
[id(DISPID_FEEDFOLDEREVENTS_FeedDownloadCompleted), helpstring("Occurs when a feed has finished or failed downloading.")]
HRESULT FeedDownloadCompleted([in] const BSTR path, [in] FEEDS_DOWNLOAD_ERROR error);
[id(DISPID_FEEDFOLDEREVENTS_FeedItemCountChanged), helpstring("Occurs when the item count of a feed changed.")]
HRESULT FeedItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
};
[
uuid(f7f915d8-2ede-42bc-98e7-a5d05063a757), // IID_IFeed
dual,
oleautomation
]
interface IFeed : IDispatch
{
[id(DISPID_FEED_Xml), helpstring("Returns the Extensible Markup Language (XML) for the feed.")]
HRESULT Xml([in] LONG count, [in] FEEDS_XML_SORT_PROPERTY sortProperty, [in] FEEDS_XML_SORT_ORDER sortOrder, [in] FEEDS_XML_FILTER_FLAGS filterFlags, [in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out, retval] BSTR* xml);
[id(DISPID_FEED_Name), propget, helpstring("Retrieves the display name of the feed.")]
HRESULT Name([out, retval] BSTR* name);
[id(DISPID_FEED_Rename), helpstring("Renames the feed.")]
HRESULT Rename([in] BSTR name);
[id(DISPID_FEED_Url), propget, helpstring("Retrieves the URL of the feed.")]
HRESULT Url([out, retval] BSTR* feedUrl);
[id(DISPID_FEED_Url), propput, helpstring("Sets the URL of the feed.")]
HRESULT Url([in] BSTR feedUrl);
[id(DISPID_FEED_LocalId), propget, helpstring("Retrieves the guid associated with this feed.")]
HRESULT LocalId([out, retval] BSTR* feedGuid);
[id(DISPID_FEED_Path), propget, helpstring("Retrieves the path for the current feed.")]
HRESULT Path([out, retval] BSTR* path);
[id(DISPID_FEED_Move), helpstring("Moves the feed to a new location.")]
HRESULT Move([in] BSTR newParentPath);
[id(DISPID_FEED_Parent), propget, helpstring("Retrieves the parent folder of the feed.")]
HRESULT Parent([out, retval] IDispatch** disp);
[id(DISPID_FEED_LastWriteTime), propget, helpstring("Retrieves the last time the feed changed.")]
HRESULT LastWriteTime([out, retval] DATE* lastWrite);
[id(DISPID_FEED_Delete), helpstring("Deletes the feed.")]
HRESULT Delete();
[id(DISPID_FEED_Download), helpstring("Downloads content for the feed.")]
HRESULT Download();
[id(DISPID_FEED_AsyncDownload), helpstring("Downloads content for the feed asynchronously.")]
HRESULT AsyncDownload();
[id(DISPID_FEED_CancelAsyncDownload), helpstring("Cancels asynchronous download of the feed.")]
HRESULT CancelAsyncDownload();
[id(DISPID_FEED_SyncSetting), propget, helpstring("Retrieves the update setting for the feed.")]
HRESULT SyncSetting([out, retval] FEEDS_SYNC_SETTING* syncSetting);
[id(DISPID_FEED_SyncSetting), propput, helpstring("Sets the update setting for the feed.")]
HRESULT SyncSetting([in] FEEDS_SYNC_SETTING syncSetting);
[id(DISPID_FEED_Interval), propget, helpstring("Retrieves the update interval for the feed.")]
HRESULT Interval([out, retval] LONG* minutes);
[id(DISPID_FEED_Interval), propput, helpstring("Sets the update interval for the feed.")]
HRESULT Interval([in] LONG minutes);
[id(DISPID_FEED_LastDownloadTime), propget, helpstring("Retrieves the date and time of the last successful download for the feed.")]
HRESULT LastDownloadTime([out, retval] DATE* lastDownload);
[id(DISPID_FEED_LocalEnclosurePath), propget, helpstring("Retrieves the file system path where enclosures for the feed are downloaded.")]
HRESULT LocalEnclosurePath([out, retval] BSTR* path);
[id(DISPID_FEED_Items), propget, helpstring("Retrieves an enumerator for items from the feed.")]
HRESULT Items([out, retval] IDispatch** disp);
[id(DISPID_FEED_GetItem), helpstring("Returns a IFeedItem object by identifier (ID).")]
HRESULT GetItem([in] LONG itemId, [out, retval] IDispatch** disp);
[id(DISPID_FEED_Title), propget, helpstring("Retrieves the title from the feed.")]
HRESULT Title([out, retval] BSTR* title);
[id(DISPID_FEED_Description), propget, helpstring("Retrieves a phrase or sentence that describes the feed.")]
HRESULT Description([out, retval] BSTR* description);
[id(DISPID_FEED_Link), propget, helpstring("Retrieves the home page URL from the feed.")]
HRESULT Link([out, retval] BSTR* homePage);
[id(DISPID_FEED_Image), propget, helpstring("Retrieves the image URL from the feed.")]
HRESULT Image([out, retval] BSTR* imageUrl);
[id(DISPID_FEED_LastBuildDate), propget, helpstring("Retrieves the last build date from the feed.")]
HRESULT LastBuildDate([out, retval] DATE* lastBuildDate);
[id(DISPID_FEED_PubDate), propget, helpstring("Retrieves the publication date and time of the feed.")]
HRESULT PubDate([out, retval] DATE* lastPopulateDate);
[id(DISPID_FEED_Ttl), propget, helpstring("Retrieves the time to live (TTL) from the feed.")]
HRESULT Ttl([out, retval] LONG* ttl);
[id(DISPID_FEED_Language), propget, helpstring("Retrieves the language code from the feed.")]
HRESULT Language([out, retval] BSTR* language);
[id(DISPID_FEED_Copyright), propget, helpstring("Retrieves the copyright from the feed.")]
HRESULT Copyright([out, retval] BSTR* copyright);
[id(DISPID_FEED_MaxItemCount), propget, helpstring("Maximum number of items to keep, excess items will be deleted")]
HRESULT MaxItemCount([out, retval] LONG* count);
[id(DISPID_FEED_MaxItemCount), propput, helpstring("Maximum number of items to keep, excess items will be deleted")]
HRESULT MaxItemCount([in] LONG count);
[id(DISPID_FEED_DownloadEnclosuresAutomatically), propget, helpstring("Retrieves a VARIANT_BOOL value that determines whether enclosures are downloaded automatically.")]
HRESULT DownloadEnclosuresAutomatically([out, retval] VARIANT_BOOL* downloadEnclosuresAutomatically);
[id(DISPID_FEED_DownloadEnclosuresAutomatically), propput, helpstring("Sets a VARIANT_BOOL value that determines whether enclosures are downloaded automatically.")]
HRESULT DownloadEnclosuresAutomatically([in] VARIANT_BOOL downloadEnclosuresAutomatically);
[id(DISPID_FEED_DownloadStatus), propget, helpstring("Retrieves the current download status of the feed.")]
HRESULT DownloadStatus([out, retval] FEEDS_DOWNLOAD_STATUS* status);
[id(DISPID_FEED_LastDownloadError), propget, helpstring("Retrieves the last download error of the feed.")]
HRESULT LastDownloadError([out, retval] FEEDS_DOWNLOAD_ERROR* error);
[id(DISPID_FEED_Merge), helpstring("Merges feed XML into an existing feed.")]
HRESULT Merge([in] BSTR feedXml, [in] BSTR feedUrl);
[id(DISPID_FEED_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download the feed.")]
HRESULT DownloadUrl([out, retval] BSTR* feedUrl);
[id(DISPID_FEED_IsList), propget, helpstring("Determines if the feed is a list.")]
HRESULT IsList([out, retval] VARIANT_BOOL* isList);
[id(DISPID_FEED_MarkAllItemsRead), helpstring("Sets the IFeedItem::IsRead property to VARIANT_TRUE for all feed items.")]
HRESULT MarkAllItemsRead();
[id(DISPID_FEED_GetWatcher), helpstring("Retrieves the appropriate interface for events.")]
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [out, retval] IDispatch** disp);
[id(DISPID_FEED_UnreadItemCount), propget, helpstring("Retrieves the count of unread feed items.")]
HRESULT UnreadItemCount([out, retval] LONG* count);
[id(DISPID_FEED_ItemCount), propget, helpstring("Retrieves the count of items in this feed.")]
HRESULT ItemCount([out, retval] LONG* count);
};
[
uuid(33f2ea09-1398-4ab9-b6a4-f94b49d0a42e), // IID_IFeed2
dual,
oleautomation
]
interface IFeed2 : IFeed
{
[id(DISPID_FEED_GetItemByEffectiveId), helpstring("Retrieves the item that contains the effective ID.")]
HRESULT GetItemByEffectiveId([in] LONG itemEffectiveId, [out, retval] IDispatch** disp);
[id(DISPID_FEED_LastItemDownloadTime), propget, helpstring("Retrieves the most recent download time for all feed items.")]
HRESULT LastItemDownloadTime([out, retval] DATE* lastItemDownloadTime);
[id(DISPID_FEED_Username), propget, helpstring("Retrieves the username used to authenticate the feed, if present.")]
HRESULT Username([out, retval] BSTR* username);
[id(DISPID_FEED_Password), propget, helpstring("Retrieves the password used to authenticate the feed, if present.")]
HRESULT Password([out, retval] BSTR* password);
[id(DISPID_FEED_SetCredentials), helpstring("Sets the username and password used to authenticate the feed.")]
HRESULT SetCredentials([in] BSTR username, [in] BSTR password);
[id(DISPID_FEED_ClearCredentials), helpstring("Clears the username and password used to authenticate the feed.")]
HRESULT ClearCredentials();
};
[
uuid(abf35c99-0681-47ea-9a8c-1436a375a99e), // IID_IFeedEvents
dual,
oleautomation
]
interface IFeedEvents : IDispatch
{
// Generic error
[id(DISPID_FEEDEVENTS_Error), helpstring("Occurs when a feed event error occurs.")]
HRESULT Error();
// Feed
[id(DISPID_FEEDEVENTS_FeedDeleted), helpstring("Occurs when a feed is deleted.")]
HRESULT FeedDeleted([in] const BSTR path);
[id(DISPID_FEEDEVENTS_FeedRenamed), helpstring("Occurs when a feed is renamed.")]
HRESULT FeedRenamed([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDEVENTS_FeedUrlChanged), helpstring("Occurs when the URL of a feed is changed.")]
HRESULT FeedUrlChanged([in] const BSTR path);
[id(DISPID_FEEDEVENTS_FeedMoved), helpstring("Occurs when a feed is moved.")]
HRESULT FeedMoved([in] const BSTR path, [in] const BSTR oldPath);
[id(DISPID_FEEDEVENTS_FeedDownloading), helpstring("Occurs when a feed starts to download.")]
HRESULT FeedDownloading([in] const BSTR path);
[id(DISPID_FEEDEVENTS_FeedDownloadCompleted), helpstring("Occurs when a feed has finished or failed downloading.")]
HRESULT FeedDownloadCompleted([in] const BSTR path, [in] FEEDS_DOWNLOAD_ERROR error);
[id(DISPID_FEEDFOLDEREVENTS_FeedItemCountChanged), helpstring("Occurs when the item count of a feed changed.")]
HRESULT FeedItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
};
[
uuid(0a1e6cad-0a47-4da2-a13d-5baaa5c8bd4f), // IID_IFeedItem
dual,
oleautomation
]
interface IFeedItem : IDispatch
{
[id(DISPID_FEEDITEM_Xml), helpstring("Returns the Extensible Markup Language (XML) fragment for the feed item.")]
HRESULT Xml([in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out, retval] BSTR* xml);
[id(DISPID_FEEDITEM_Title), propget, helpstring("Retrieves the title from the feed item.")]
HRESULT Title([out, retval] BSTR* title);
[id(DISPID_FEEDITEM_Link), propget, helpstring("Retrieves the URL from the feed item.")]
HRESULT Link([out, retval] BSTR* linkUrl);
[id(DISPID_FEEDITEM_Guid), propget, helpstring("Retrieves the guid from the feed item.")]
HRESULT Guid([out, retval] BSTR* itemGuid);
[id(DISPID_FEEDITEM_Description), propget, helpstring("Retrieves the description from the feed item.")]
HRESULT Description([out, retval] BSTR* description);
[id(DISPID_FEEDITEM_PubDate), propget, helpstring("Retrieves the publication date of the feed item.")]
HRESULT PubDate([out, retval] DATE* pubDate);
[id(DISPID_FEEDITEM_Comments), propget, helpstring("Retrieves the URL of the comments page from the feed item.")]
HRESULT Comments([out, retval] BSTR* comments);
[id(DISPID_FEEDITEM_Author), propget, helpstring("Retrieves the author from the feed item.")]
HRESULT Author([out, retval] BSTR* author);
[id(DISPID_FEEDITEM_Enclosure), propget, helpstring("Retrieves the IFeedEnclosure object associated with the the feed item.")]
HRESULT Enclosure([out, retval] IDispatch** disp);
[id(DISPID_FEEDITEM_IsRead), propget, helpstring("Retrieves the read status of the feed item.")]
HRESULT IsRead([out, retval] VARIANT_BOOL* isRead);
[id(DISPID_FEEDITEM_IsRead), propput, helpstring("Sets the read status of the feed item.")]
HRESULT IsRead([in] VARIANT_BOOL isRead);
[id(DISPID_FEEDITEM_LocalId), propget, helpstring("Retrieves the assigned identifier (ID) of the feed item.")]
HRESULT LocalId([out, retval] LONG* itemId);
[id(DISPID_FEEDITEM_Parent), propget, helpstring("Retrieves the parent feed of the feed item.")]
HRESULT Parent([out, retval] IDispatch** disp);
[id(DISPID_FEEDITEM_Delete), helpstring("Deletes the feed item.")]
HRESULT Delete();
[id(DISPID_FEEDITEM_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download this item.")]
HRESULT DownloadUrl([out, retval] BSTR* itemUrl);
[id(DISPID_FEEDITEM_LastDownloadTime), propget, helpstring("Retrieves the date and time of the last download for this item.")]
HRESULT LastDownloadTime([out, retval] DATE* lastDownload);
[id(DISPID_FEEDITEM_Modified), propget, helpstring("Retrieves the date and time of the last modification for this item.")]
HRESULT Modified([out, retval] DATE* modified);
};
[
uuid(79ac9ef4-f9c1-4d2b-a50b-a7ffba4dcf37), // IID_IFeedItem2
dual,
oleautomation
]
interface IFeedItem2 : IFeedItem
{
[id(DISPID_FEEDITEM_EffectiveId), propget, helpstring("Retrieves the effective ID for this item.")]
HRESULT EffectiveId([out, retval] LONG* effectiveId);
};
[
uuid(361C26F7-90A4-4e67-AE09-3A36A546436A), // IID_IFeedEnclosure
dual,
oleautomation
]
interface IFeedEnclosure : IDispatch
{
[id(DISPID_FEEDENCLOSURE_Url), propget, helpstring("Retrieves the URL from the enclosure.")]
HRESULT Url([out, retval] BSTR* enclosureUrl);
[id(DISPID_FEEDENCLOSURE_Type), propget, helpstring("Retrieves the Multipurpose Internet Mail Extensions (MIME) type from the enclosure.")]
HRESULT Type([out, retval] BSTR* mimeType);
[id(DISPID_FEEDENCLOSURE_Length), propget, helpstring("Retrieves the length value from the enclosure.")]
HRESULT Length([out, retval] LONG* length);
[id(DISPID_FEEDENCLOSURE_AsyncDownload), helpstring("Downloads the enclosure asynchronously.")]
HRESULT AsyncDownload();
[id(DISPID_FEEDENCLOSURE_CancelAsyncDownload), helpstring("Cancels asynchronous download of the enclosure.")]
HRESULT CancelAsyncDownload();
[id(DISPID_FEEDENCLOSURE_DownloadStatus), propget, helpstring("Retrieves the current download status of the enclosure.")]
HRESULT DownloadStatus([out, retval] FEEDS_DOWNLOAD_STATUS* status);
[id(DISPID_FEEDENCLOSURE_LastDownloadError), propget, helpstring("Retrieves the last download error of the enclosure.")]
HRESULT LastDownloadError([out, retval] FEEDS_DOWNLOAD_ERROR* error);
[id(DISPID_FEEDENCLOSURE_LocalPath), propget, helpstring("Retrieves the local system path where the enclosure is stored.")]
HRESULT LocalPath([out, retval] BSTR* localPath);
[id(DISPID_FEEDENCLOSURE_Parent), propget, helpstring("Retrieves the parent feed item of the enclosure.")]
HRESULT Parent([out, retval] IDispatch** disp);
[id(DISPID_FEEDENCLOSURE_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download the enclosure.")]
HRESULT DownloadUrl([out, retval] BSTR* enclosureUrl);
[id(DISPID_FEEDENCLOSURE_DownloadMimeType), propget, helpstring("Retrieves the final Multipurpose Internet Mail Extensions (MIME) type for the downloaded enclosure.")]
HRESULT DownloadMimeType([out, retval] BSTR* mimeType);
[id(DISPID_FEEDENCLOSURE_RemoveFile), helpstring("Deletes the enclosure file or cancels any pending or in-progress downloads.")]
HRESULT RemoveFile();
[id(DISPID_FEEDENCLOSURE_SetFile), helpstring("Adds the downloaded enclosure file to the RSS platform.")]
HRESULT SetFile([in] BSTR downloadUrl, [in] BSTR downloadFilePath, [in] BSTR downloadMimeType, [in] BSTR enclosureFilename);
};
//
// Coclasses
//
[
uuid(faeb54c4-f66f-4806-83a0-805299f5e3ad), // CLSID_FeedsManager
helpstring("Exposes methods to access the System Feed List.")
]
coclass FeedsManager
{
interface IFeedsManager;
};
[
uuid(281001ed-7765-4cb0-84af-e9b387af01ff), // CLSID_FeedFolderWatcher
helpstring("Exposes event handlers for System Feed List folder events."),
hidden,
noncreatable
]
coclass FeedFolderWatcher
{
[default, source] dispinterface IFeedFolderEvents;
};
[
uuid(18a6737b-f433-4687-89bc-a1b4dfb9f123), // CLSID_FeedWatcher
helpstring("Exposes event handlers for feed events."),
hidden,
noncreatable
]
coclass FeedWatcher
{
[default, source] dispinterface IFeedEvents;
};
};
#endif // FEEDS_NOAUTOMATIONLIB