🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ObjectRoot.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCOM.h"
25#include <unknwn.h>
26#include <oaidl.h>
27#include <atlbase.h>
28#include <atlcom.h>
29
30AST_NAMESPACE_BEGIN
31
40 public CComObjectRootEx<CComSingleThreadModel>,
41 public CComCoClass<CObjectRoot, &CLSID_CObjectRoot>,
42 public IDispatchImpl<IObjectRoot, &IID_IObjectRoot, &IID_NULL, 0xFFFF, 0xFFFF>
43 // 使用 &IID_NULL, 0xFFFF, 0xFFFF时,会直接从当前动态库加载TypeLib,避免了注册COM组件
44{
45public:
46 // COM 映射表
47 BEGIN_COM_MAP(CObjectRoot)
48 COM_INTERFACE_ENTRY(IObjectRoot) // 主接口
49 COM_INTERFACE_ENTRY(IDispatch) // 自动化接口
50 COM_INTERFACE_ENTRY(IUnknown) // 标准COM接口
51 END_COM_MAP()
52
53 DECLARE_PROTECT_FINAL_CONSTRUCT();
54
55public:
58 static CObjectRoot* Instance();
59
60 CObjectRoot() = default;
61 ~CObjectRoot() = default;
62
63
64public:
69 HRESULT __stdcall ExecuteCommand(
70 /* [in] */ BSTR command,
71 /* [retval][out] */ IExecCmdResult **result
72 ) override;
73
77 HRESULT __stdcall get_CurrentScenario(
78 /* [retval][out] */ IObject** ppRetVal
79 ) override;
80};
81
84AST_NAMESPACE_END
根对象Dispatch接口
定义 ObjectRoot.hpp:44
定义 AstCOM.idl:12
定义 AstCOM.idl:119
定义 AstCOM.idl:27