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