//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation. All Rights Reserved. // // File: openservice.idl // //---------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// openservice.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("") import "objidl.idl"; import "oleidl.idl"; import "mshtml.idl"; import "exdisp.idl"; typedef enum OpenServiceErrors { OS_E_NOTFOUND = 0x80030002, OS_E_NOTSUPPORTED = 0x80004021, OS_E_CANCELLED = 0x80002ef1, OS_E_GPDISABLED = 0xc00d0bdc, } OpenServiceErrors; typedef enum OpenServiceActivityContentType { ActivityContentNone = -1, ActivityContentDocument, ActivityContentSelection, ActivityContentLink, ActivityContentCount } OpenServiceActivityContentType; [ object, uuid(75cb4db9-6da0-4da3-83ce-422b6a433346), pointer_default(unique), ] interface IOpenServiceActivityInput : IUnknown { HRESULT GetVariable( [in] LPCWSTR pwzVariableName, [in, unique] LPCWSTR pwzVariableType, [out] BSTR *pbstrVariableContent); HRESULT HasVariable( [in] LPCWSTR pwzVariableName, [in, unique] LPCWSTR pwzVariableType, [out] BOOL *pfHasVariable); HRESULT GetType( [out] OpenServiceActivityContentType *pType); } [ object, uuid(e289deab-f709-49a9-b99e-282364074571), pointer_default(unique), ] interface IOpenServiceActivityOutputContext : IUnknown { HRESULT Navigate( [in] LPCWSTR pwzUri, [in, unique] LPCWSTR pwzMethod, [in, unique] LPCWSTR pwzHeaders, [in, unique] IStream *pPostData); HRESULT CanNavigate( [in] LPCWSTR pwzUri, [in, unique] LPCWSTR pwzMethod, [in, unique] LPCWSTR pwzHeaders, [in, unique] IStream *pPostData, [out] BOOL *pfCanNavigate); } [ object, uuid(C2952ED1-6A89-4606-925F-1ED8B4BE0630), pointer_default(unique), ] interface IOpenService : IUnknown { HRESULT IsDefault( [out] BOOL *pfIsDefault); HRESULT SetDefault( [in] BOOL fDefault, [in] HWND hwnd); HRESULT GetID( [out] BSTR *pbstrID); } [ object, uuid(5664125f-4e10-4e90-98e4-e4513d955a14), pointer_default(unique), ] interface IOpenServiceManager : IUnknown { HRESULT InstallService( [in] LPCWSTR pwzServiceUrl, [out] IOpenService **ppService); HRESULT UninstallService( [in] IOpenService *pService); HRESULT GetServiceByID( [in] LPCWSTR pwzID, [out] IOpenService **ppService); } [ uuid(41a67fbc-3179-4fdf-9e9a-1b62b908bfec), ] library IEOpenServiceObjects { //CLSID_OpenServiceManager [ uuid(098870b6-39ea-480b-b8b5-dd0167c4db59) ] coclass OpenServiceManager { interface IOpenServiceManager; } //CLSID_OpenServiceActivityManager [ uuid(c5efd803-50f8-43cd-9ab8-aafc1394c9e0) ] coclass OpenServiceActivityManager { interface IOpenServiceActivityManager; } } [ object, uuid(13645c88-221a-4905-8ed1-4f5112cfc108), pointer_default(unique), ] interface IOpenServiceActivity : IOpenService { HRESULT Execute( [in] IOpenServiceActivityInput *pInput, [in] IOpenServiceActivityOutputContext *pOutput); HRESULT CanExecute( [in] IOpenServiceActivityInput *pInput, [in] IOpenServiceActivityOutputContext *pOutput, [out] BOOL *pfCanExecute); HRESULT CanExecuteType( [in] OpenServiceActivityContentType type, [out] BOOL *pfCanExecute); HRESULT Preview( [in] IOpenServiceActivityInput *pInput, [in] IOpenServiceActivityOutputContext *pOutput); HRESULT CanPreview( [in] IOpenServiceActivityInput *pInput, [in] IOpenServiceActivityOutputContext *pOutput, [out] BOOL *pfCanPreview); HRESULT CanPreviewType( [in] OpenServiceActivityContentType type, [out] BOOL *pfCanPreview); HRESULT GetStatusText( [in] IOpenServiceActivityInput *pInput, [out] BSTR *pbstrStatusText); HRESULT GetHomepageUrl( [out] BSTR *pbstrHomepageUrl); HRESULT GetDisplayName( [out] BSTR *pbstrDisplayName); HRESULT GetDescription( [out] BSTR *pbstrDescription); HRESULT GetCategoryName( [out] BSTR *pbstrCategoryName); HRESULT GetIconPath( [out] BSTR *pbstrIconPath); HRESULT GetIcon( [in] BOOL fSmallIcon, [out] HICON *phIcon); HRESULT GetDescriptionFilePath( [out] BSTR *pbstrXmlPath); HRESULT GetDownloadUrl( [out] BSTR *pbstrXmlUri); HRESULT GetInstallUrl( [out] BSTR *pbstrInstallUri); HRESULT IsEnabled( [out] BOOL *pfIsEnabled); HRESULT SetEnabled( [in] BOOL fEnable); } [ object, uuid(a436d7d2-17c3-4ef4-a1e8-5c86faff26c0), pointer_default(unique), ] interface IEnumOpenServiceActivity : IUnknown { typedef IOpenServiceActivity* EnumActivityType; HRESULT Next( [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] EnumActivityType *rgelt, [out] ULONG *pceltFetched); HRESULT Skip([in] ULONG celt); HRESULT Reset(); HRESULT Clone([out] IEnumOpenServiceActivity **ppenum); } [ object, uuid(850AF9D6-7309-40b5-BDB8-786C106B2153), pointer_default(unique), ] interface IOpenServiceActivityCategory : IUnknown { HRESULT HasDefaultActivity( [out] BOOL* pfHasDefaultActivity); HRESULT GetDefaultActivity( [out] IOpenServiceActivity** ppDefaultActivity); HRESULT SetDefaultActivity( [in] IOpenServiceActivity* pActivity, [in] HWND hwnd); HRESULT GetName([out] BSTR* pbstrName); HRESULT GetActivityEnumerator( [in] IOpenServiceActivityInput* pInput, [in] IOpenServiceActivityOutputContext* pOutput, [out] IEnumOpenServiceActivity** ppEnumActivity); } [ object, uuid(33627a56-8c9a-4430-8fd1-b5f5c771afb6), pointer_default(unique), ] interface IEnumOpenServiceActivityCategory : IUnknown { typedef IOpenServiceActivityCategory* EnumActivityVerbType; HRESULT Next( [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] EnumActivityVerbType *rgelt, [out] ULONG *pceltFetched); HRESULT Skip([in] ULONG celt); HRESULT Reset(); HRESULT Clone([out] IEnumOpenServiceActivityCategory** ppenum); } [ object, uuid(8a2d0a9d-e920-4bdc-a291-d30f650bc4f1), pointer_default(unique), ] interface IOpenServiceActivityManager : IUnknown { HRESULT GetCategoryEnumerator( [in] OpenServiceActivityContentType eType, [out] IEnumOpenServiceActivityCategory **ppEnum); HRESULT GetActivityByID( [in] LPCWSTR pwzActivityID, [out] IOpenServiceActivity **ppActivity); HRESULT GetActivityByHomepageAndCategory( [in] LPCWSTR pwzHomepage, [in] LPCWSTR pwzCategory, [out] IOpenServiceActivity **ppActivity); HRESULT GetVersionCookie( [out] DWORD *pdwVersionCookie); }