🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
VeVOSystemsCollectionImpl.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCOM.h"
25#include "AstCOM/COMAPI.hpp"
26#include "AstCOM/VeVOSystemsElement.hpp"
27#include "AstUtil/Object.hpp"
28#include "AstUtil/Encode.hpp"
29#include <unknwn.h>
30#include <oaidl.h>
31#include <atlbase.h>
32#include <atlcom.h>
33
34AST_NAMESPACE_BEGIN
35
41template <typename T, const IID* piid = &__uuidof(T)>
43 public IDispatchImpl<T, piid, &IID_NULL, 0xFFFF, 0xFFFF>
44{
45public:
48
49
50 HRESULT __stdcall get_Count(long* pVal) override
51 {
52 if (pVal == nullptr)
53 return E_POINTER;
54 *pVal = 0;
55 return S_OK;
56 }
57
58 HRESULT __stdcall get_Item(long Index, IVeVOSystemsElement** ppRetVal) override
59 {
60 if (ppRetVal == nullptr)
61 return E_POINTER;
62 *ppRetVal = nullptr;
63 return E_NOTIMPL;
64 }
65
66 HRESULT __stdcall Add(BSTR name) override
67 {
68 if (name == nullptr)
69 return E_POINTER;
70 return S_OK;
71 }
72
73 HRESULT __stdcall Contains(BSTR name, VARIANT_BOOL* pVal) override
74 {
75 if (name == nullptr || pVal == nullptr)
76 return E_POINTER;
77 *pVal = VARIANT_FALSE;
78 return S_OK;
79 }
80
81public:
82
83
84private:
85
86};
87
90AST_NAMESPACE_END
定义 VeVOSystemsCollectionImpl.hpp:44
定义 AstCOM.idl:68