mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
5.8 KiB
197 lines
5.8 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// 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_")
|
|
|
|
|