/****************************************************************************** Copyright (c) 2000 Microsoft Corporation Module Name: HCAPIlib.h Abstract: This file contains the declaration of the common code for the Help Center Launch API. Revision History: Davide Massarenti (Dmassare) 04/15/2000 created ******************************************************************************/ #if !defined(__INCLUDED___PCH___HCAPILIB_H___) #define __INCLUDED___PCH___HCAPILIB_H___ // // From HelpServiceTypeLib.idl // #include // // From HelpCenterTypeLib.idl // #include // // From HCApi.idl // #include namespace HCAPI { // BUILD BREAK interface IPCHHelpCenterIPC : public IUnknown { }; class CmdData { public: CLSID m_clsidCaller; //////////////////// bool m_fMode; DWORD m_dwFlags; //////////////////// bool m_fWindow; HWND m_hwndParent; //////////////////// bool m_fSize; LONG m_lX; LONG m_lY; LONG m_lWidth; LONG m_lHeight; //////////////////// bool m_fCtx; CComBSTR m_bstrCtxName; CComBSTR m_bstrCtxInfo; //////////////////// bool m_fURL; CComBSTR m_bstrURL; //////////////////// bool m_fError; CLSID m_clsidError; //////////////////// CmdData(); HRESULT Serialize ( /*[out]*/ CComBSTR& bstrBLOB ); HRESULT Unserialize( /*[in ]*/ const CComBSTR& bstrBLOB ); }; class Locator { CComPtr m_ipc; CComPtr m_rt; CComPtr m_moniker; DWORD m_dwRegister; public: Locator(); ~Locator(); void Cleanup(); HRESULT Init( /*[in]*/ REFCLSID clsid, /*[in]*/ IPCHHelpCenterIPC* ipc = NULL ); HRESULT Register(); HRESULT Revoke (); HRESULT IsOpen( /*[out]*/ bool& fOpen, /*[in]*/ CLSID* pclsid = NULL ); HRESULT ExecCommand( /*[out]*/ CmdData& cd ); HRESULT PopUp(); HRESULT Close(); HRESULT WaitForTermination( /*[in]*/ DWORD dwTimeout ); }; }; #endif // !defined(__INCLUDED___PCH___HCAPILIB_H___)