123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- //--------------------------------------------------------------------------
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// chanmgr.h")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// Copyright (c) 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("")
- cpp_quote("#pragma comment(lib,\"uuid.lib\")")
- cpp_quote("")
- cpp_quote("//---------------------------------------------------------------------------=")
- cpp_quote("// Channel Manager Interfaces.")
- cpp_quote("")
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- #endif
- interface IChannelMgr;
- interface IEnumChannels;
- //---------------------------------------------------------------
- // Channel Manager
- //---------------------------------------------------------------
- [
- uuid(4804f2e0-d16e-11d0-802b-00c04fd75d13), // LIBID_CHANNELMGR
- helpstring("Microsoft Channel Manager 1.0"),
- lcid(0x0000),
- version(1.0)
- ]
- library CHANNELMGR
- {
- // ChannelMgr interface
- [
- uuid(85BD8E82-0FBA-11d1-90C3-00C04FC2F568), // IID_IChannelMgr
- helpstring("Channel Manager interface"),
- odl
- ]
- interface IChannelMgr : IUnknown
- {
- typedef struct _tagChannelShortcutInfo {
- DWORD cbSize; // size of struct, must be specified
- LPWSTR pszTitle; // channel title
- LPWSTR pszURL; // required url to channel cdf
- LPWSTR pszLogo; // optional logo url
- LPWSTR pszIcon; // optional icon url
- LPWSTR pszWideLogo;// optional wide logo url
- BOOL bIsSoftware;// is software update and lives in that folder (normally false)
- } CHANNELSHORTCUTINFO;
- typedef struct _tagChannelCategoryInfo {
- DWORD cbSize; // size of struct, must be specified
- LPWSTR pszTitle; // category title
- LPWSTR pszURL; // optional url to category html
- LPWSTR pszLogo; // optional logo url
- LPWSTR pszIcon; // optional icon url
- LPWSTR pszWideLogo;// optional wide logo url
- } CHANNELCATEGORYINFO;
- typedef enum _tagChannelEnumFlags {
- CHANENUM_CHANNELFOLDER = 0x00000001,
- CHANENUM_SOFTUPDATEFOLDER = 0x00000002,
- CHANENUM_DESKTOPFOLDER = 0x00000004,
- CHANENUM_TITLE = 0x00010000,
- CHANENUM_PATH = 0x00020000,
- CHANENUM_URL = 0x00040000,
- CHANENUM_SUBSCRIBESTATE = 0x00080000
- } CHANNELENUMFLAGS;
- cpp_quote("#define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | \\")
- cpp_quote(" CHANENUM_SOFTUPDATEFOLDER | \\")
- cpp_quote(" CHANENUM_DESKTOPFOLDER )")
- cpp_quote("")
- cpp_quote("#define CHANENUM_ALLDATA (CHANENUM_TITLE | \\")
- cpp_quote(" CHANENUM_PATH | \\")
- cpp_quote(" CHANENUM_URL | \\")
- cpp_quote(" CHANENUM_SUBSCRIBESTATE )")
- cpp_quote("")
- cpp_quote("#define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | \\")
- cpp_quote(" CHANENUM_SOFTUPDATEFOLDER | \\")
- cpp_quote(" CHANENUM_DESKTOPFOLDER | \\")
- cpp_quote(" CHANENUM_TITLE | \\")
- cpp_quote(" CHANENUM_PATH | \\")
- cpp_quote(" CHANENUM_URL | \\")
- cpp_quote(" CHANENUM_SUBSCRIBESTATE )")
- cpp_quote("")
- HRESULT AddChannelShortcut([in]CHANNELSHORTCUTINFO *pChannelInfo);
- HRESULT DeleteChannelShortcut([in]LPWSTR pszTitle);
- HRESULT AddCategory([in]CHANNELCATEGORYINFO *pCategoryInfo);
- HRESULT DeleteCategory([in]LPWSTR pszTitle);
- HRESULT EnumChannels([in]DWORD dwEnumFlags,
- [in]LPCWSTR pszURL, // optional cdf url
- [out]IEnumChannels** pIEnumChannels);
- };
- // EnumChannels interface
- [
- uuid(A4C65425-0F82-11d1-90C3-00C04FC2F568), // IID_IEnumChannels
- helpstring("Channel Enumerator interface"),
- odl
- ]
- interface IEnumChannels : IUnknown
- {
- typedef enum _tagSubcriptionState{
- SUBSTATE_NOTSUBSCRIBED,
- SUBSTATE_PARTIALSUBSCRIPTION,
- SUBSTATE_FULLSUBSCRIPTION
- } SUBSCRIPTIONSTATE;
- typedef struct _tagChannelInfo {
- LPOLESTR pszTitle;
- LPOLESTR pszPath;
- LPOLESTR pszURL;
- SUBSCRIPTIONSTATE stSubscriptionState;
- } CHANNELENUMINFO;
- HRESULT Next(ULONG celt, CHANNELENUMINFO* rgChanInf,
- ULONG *pceltFetched);
- HRESULT Skip(ULONG celt);
- HRESULT Reset(void);
- HRESULT Clone(IEnumChannels **ppenum);
- };
- // ChannelMgr class
- [
- uuid(b3cdae90-d170-11d0-802b-00c04fd75d13), // CLSID_ChannelMgr
- helpstring("ChannelMgr class"),
- ]
- coclass ChannelMgr
- {
- [default] interface IChannelMgr;
- }
- }
|