windows-nt/Source/XPSP1/NT/multimedia/directx/applicationmanager/scriptinterface/appentry.h
2020-09-26 16:20:57 +08:00

125 lines
5.8 KiB
C++

//////////////////////////////////////////////////////////////////////////////////////////////
//
// AppManager.h
//
// Copyright (C) 1998, 1999 Microsoft Corporation. All rights reserved.
//
//////////////////////////////////////////////////////////////////////////////////////////////
#ifndef __APPENTRY_H_
#define __APPENTRY_H_
#include "resource.h"
#include "AppMan.h"
//////////////////////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE CAppEntry :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CAppEntry, &CLSID_AppEntry>,
public IDispatchImpl<IAppEntry, &IID_IAppEntry, &LIBID_APPMANDISPATCHLib>
{
public:
CAppEntry(void);
virtual ~CAppEntry(void);
DECLARE_REGISTRY_RESOURCEID(IDR_APPENTRY)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CAppEntry)
COM_INTERFACE_ENTRY(IAppEntry)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
STDMETHOD (get_NonRemovableKilobytes) (/*[out, retval]*/ long *pVal);
STDMETHOD (put_NonRemovableKilobytes) (/*[in]*/ long newVal);
STDMETHOD (get_RemovableKilobytes) (/*[out, retval]*/ long *pVal);
STDMETHOD (put_RemovableKilobytes) (/*[in]*/ long newVal);
STDMETHOD (EnumTemporarySpaceAllocations) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ long * lTempSpaceKilobytes);
STDMETHOD (EnumTemporarySpacePaths) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ BSTR * strRootPath);
STDMETHOD (RemoveTemporarySpace) (/*[in]*/ BSTR strRootPath);
STDMETHOD (GetTemporarySpace) (/*[in]*/ long lKilobytesRequired, /*[out, retval]*/ BSTR * strRootPath);
STDMETHOD (EnumAssociationObjects) (/*[in]*/ long lAssociationIndex, /*[in]*/ IAppEntry * lpAppEntry);
STDMETHOD (EnumAssociationTypes) (/*[in]*/ long lAssociationIndex, /*[out, retval]*/ long * lpAssociationType);
STDMETHOD (RemoveAssociation) (/*[in]*/ long lAssociationType, /*[in]*/ IAppEntry * lpAppEntry);
STDMETHOD (AddAssociation) (/*[in]*/ long AssociationType, /*[in]*/ IAppEntry * lpAppEntry);
STDMETHOD (Run) (/*[in]*/ long lRunFlags, /*[in]*/ BSTR newVal);
STDMETHOD (Abort) (void);
STDMETHOD (FinalizeSelfTest) (void);
STDMETHOD (InitializeSelfTest) (void);
STDMETHOD (FinalizeUnInstall) (void);
STDMETHOD (InitializeUnInstall) (void);
STDMETHOD (FinalizeReInstall) (void);
STDMETHOD (InitializeReInstall) (void);
STDMETHOD (FinalizeDownsize) (void);
STDMETHOD (InitializeDownsize) (void);
STDMETHOD (FinalizeInstall) (void);
STDMETHOD (InitializeInstall) (void);
STDMETHOD (Clear) (void);
STDMETHOD (get_XMLInfoFile) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_XMLInfoFile) (/*[in]*/ BSTR newVal);
STDMETHOD (get_PublisherURL) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_PublisherURL) (/*[in]*/ BSTR newVal);
STDMETHOD (get_DeveloperURL) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_DeveloperURL) (/*[in]*/ BSTR newVal);
STDMETHOD (get_TitleURL) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_TitleURL) (/*[in]*/ BSTR newVal);
STDMETHOD (get_SelfTestCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_SelfTestCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_UnInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_UnInstallCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_ReInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_ReInstallCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_DownsizeCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_DownsizeCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_DefaultSetupExeCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_DefaultSetupExeCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_ExecuteCmdLine) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_ExecuteCmdLine) (/*[in]*/ BSTR newVal);
STDMETHOD (get_EstimatedInstallKilobytes) (/*[out, retval]*/ long *pVal);
STDMETHOD (put_EstimatedInstallKilobytes) (/*[in]*/ long newVal);
STDMETHOD (get_ApplicationRootPath) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_ApplicationRootPath) (/*[in]*/ BSTR newVal);
STDMETHOD (get_SetupRootPath) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (get_State) (/*[out, retval]*/ long *pVal);
STDMETHOD (put_State) (/*[in]*/ long newVal);
STDMETHOD (get_Category) (/*[out, retval]*/ long *pVal);
STDMETHOD (put_Category) (/*[in]*/ long newVal);
STDMETHOD (get_InstallDate) (/*[out, retval]*/ DATE *pVal);
STDMETHOD (get_LastUsedDate) (/*[out, retval]*/ DATE *pVal);
STDMETHOD (get_VersionString) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_VersionString) (/*[in]*/ BSTR newVal);
STDMETHOD (get_Signature) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_Signature) (/*[in]*/ BSTR newVal);
STDMETHOD (get_CompanyName) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_CompanyName) (/*[in]*/ BSTR newVal);
STDMETHOD (get_Guid) (/*[out, retval]*/ BSTR *pVal);
STDMETHOD (put_Guid) (/*[in]*/ BSTR newVal);
//
// These methods are not part of the interface
//
STDMETHOD (Initialize) (void);
STDMETHOD (GetApplicationEntryPtr) (IApplicationEntry ** lpApplicationEntry);
private:
STDMETHOD (SetPropertyGUID) (DWORD dwProperty, BSTR strGuid);
STDMETHOD (GetPropertyGUID) (DWORD dwProperty, BSTR * lpstrGuid);
STDMETHOD (SetPropertyDWORD) (DWORD dwProperty, long lDword);
STDMETHOD (GetPropertyDWORD) (DWORD dwProperty, long * lplDword);
STDMETHOD (SetPropertyWSTR) (DWORD dwProperty, BSTR strString);
STDMETHOD (GetPropertyWSTR) (DWORD dwProperty, BSTR * lpstrString);
BOOL m_fInitialized;
IApplicationManager * m_IApplicationManager;
IApplicationEntry * m_IApplicationEntry;
};
#endif //__APPENTRY_H_