windows-nt/Source/XPSP1/NT/public/internal/shell/inc/shappmgrp.idl
2020-09-26 16:20:57 +08:00

198 lines
5.8 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
//
//--------------------------------------------------------------------------
cpp_quote("#ifndef _SHAPPMGRP_H_")
cpp_quote("#define _SHAPPMGRP_H_")
import "oleidl.idl";
import "oaidl.idl";
import "shappmgr.idl";
#include <olectl.h>
#include <shdispid.h>
[
uuid(157193AA-D8B2-435f-A79C-B8F332357C6B), // LIBID_SHAPPMGRP
helpstring("shappmgrp 1.0 Type Library"),
lcid(0x0000),
version(1.0)
]
library SHAPPMGRPLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
//
// IADCCtl interface
//
[
uuid(3964D99F-AC96-11D1-9851-00C04FD91972), // IID_IADCCtl
helpstring("Application Data Control Interface"),
pointer_default(unique),
oleautomation,
object,
dual
]
interface IADCCtl : IDispatch
{
// Properties
[propput, id(DISPID_IADCCTL_DIRTY)]
HRESULT Dirty([in] VARIANT_BOOL bDirty);
[propget, id(DISPID_IADCCTL_DIRTY)]
HRESULT Dirty([out, retval] VARIANT_BOOL * pbDirty);
[propput, id(DISPID_IADCCTL_PUBCAT)]
HRESULT Category([in] BSTR bstrCategory);
[propget, id(DISPID_IADCCTL_PUBCAT)]
HRESULT Category([out, retval] BSTR * pbstrCategory);
[propput, id(DISPID_IADCCTL_SORT)]
HRESULT Sort([in] BSTR bstrSortExpr);
[propget, id(DISPID_IADCCTL_SORT)]
HRESULT Sort([out, retval] BSTR* pbstrSortExpr);
[propput, id(DISPID_IADCCTL_FORCEX86)]
HRESULT Forcex86([in] VARIANT_BOOL bForce);
[propget, id(DISPID_IADCCTL_FORCEX86)]
HRESULT Forcex86([out, retval] VARIANT_BOOL * pbForce);
[propget, id(DISPID_IADCCTL_SHOWPOSTSETUP)]
HRESULT ShowPostSetup([out, retval] VARIANT_BOOL * pbShow);
[propput, id(DISPID_IADCCTL_ONDOMAIN)]
HRESULT OnDomain([in] VARIANT_BOOL bOnDomain);
[propget, id(DISPID_IADCCTL_ONDOMAIN)]
HRESULT OnDomain([out, retval] VARIANT_BOOL * pbOnDomain);
[propget, id(DISPID_IADCCTL_DEFAULTCAT)]
HRESULT DefaultCategory([out, retval] BSTR * pbstrCategory);
[restricted, id(-3900)]
HRESULT msDataSourceObject([in] BSTR qualifier,
[out, retval] IUnknown **ppUnk);
[restricted, id(-3901)]
HRESULT addDataSourceListener([in] IUnknown *pEvent);
// Methods
//
HRESULT Reset(BSTR bstrQualifier);
HRESULT IsRestricted([in] BSTR bstrPolicy, [out, retval] VARIANT_BOOL * pbRestricted);
// Valid Exec command strings:
//
// "install" - install app at nRecord
// "uninstall" - uninstall app
// "modify" - modify app
// "repair" - repair app
// "upgrade" - upgrade app
// "generic install" - invoke the 'install from floppy or CD' wizard
// "ntoptions" - add/remove NT options
// "winupdate" - update windows
HRESULT Exec(BSTR bstrQualifier, [in] BSTR bstrCmd, [in] LONG nRecord);
};
[
uuid(3964D9A0-AC96-11D1-9851-00C04FD91972), // CLSID_ADCCtl
helpstring("ADCCtl Class")
]
coclass ADCCtl
{
[default] interface IADCCtl;
};
//
// IInstalledApp interface
//
[
uuid(1BC752DF-9046-11D1-B8B3-006008059382), // IID_IInstalledApp
helpstring("Shell Installed Application Interface"),
object
]
interface IInstalledApp : IShellApp
{
HRESULT Uninstall(HWND hwnd); // Same as Add/Remove maybe we should call it AddRemove.
HRESULT Modify(HWND hwndParent);
HRESULT Repair([in] BOOL bReinstall);
HRESULT Upgrade(void);
};
//
// IEnumInstalledApps interface
//
[
uuid(1BC752E1-9046-11D1-B8B3-006008059382), // IID_IEnumInstalledApps
helpstring("Shell Installed Apps Enumeration Interface"),
object,
]
interface IEnumInstalledApps : IUnknown
{
HRESULT Next([out] IInstalledApp** pia);
HRESULT Reset(void);
};
[
uuid(0B124F8F-91F0-11D1-B8B5-006008059382), // CLSID_EnumInstalledApps
helpstring("Shell Installed Applications Enumeration Object"),
]
coclass EnumInstalledApps
{
[default] interface IEnumInstalledApps;
};
//
// IShellAppManager interface
//
[
uuid(352EC2B8-8B9A-11D1-B8AE-006008059382), // IID_IShellAppManager
helpstring("Application Manager"),
object,
]
interface IShellAppManager : IUnknown
{
// NOTE: These structures are very similar to CategoryInfo* in NT5
typedef struct _ShellAppCategory {
LPWSTR pszCategory; // category description
UINT idCategory; // category id for ShellAppManager
} SHELLAPPCATEGORY, *PSHELLAPPCATEGORY;
typedef struct _ShellAppCategoryList {
UINT cCategories;
SHELLAPPCATEGORY * pCategory;
} SHELLAPPCATEGORYLIST, *PSHELLAPPCATEGORYLIST;
HRESULT GetNumberofInstalledApps(DWORD * pdwResult);
HRESULT EnumInstalledApps(IEnumInstalledApps ** peia);
HRESULT GetPublishedAppCategories(PSHELLAPPCATEGORYLIST pCategoryList);
HRESULT EnumPublishedApps(LPCWSTR pszCategory, IEnumPublishedApps ** ppepa);
HRESULT InstallFromFloppyOrCDROM(HWND hwndParent);
}
[
uuid(352EC2B7-8B9A-11D1-B8AE-006008059382), // CLSID_ShellAppManager
helpstring("Shell Application Manager"),
]
coclass ShellAppManager
{
[default] interface IShellAppManager;
};
};
cpp_quote("#endif // _SHAPPMGRP_H_")