mirror of https://github.com/UMSKT/xpmgr.git
295 lines
7.6 KiB
Plaintext
295 lines
7.6 KiB
Plaintext
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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);
|
|
}
|
|
|