//+------------------------------------------------------------------------- // // 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 #include [ 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_")