40 public CComObjectRootEx<CComSingleThreadModel>,
41 public CComCoClass<CExecCmdResult, &CLSID_CExecCmdResult>,
42 public IDispatchImpl<IExecCmdResult, &IID_IExecCmdResult, &IID_NULL, 0xFFFF, 0xFFFF>
48 COM_INTERFACE_ENTRY(IDispatch)
51 DECLARE_PROTECT_FINAL_CONSTRUCT();
57 void setSucceeded(VARIANT_BOOL value) { isSucceeded_ = value; }
58 void addResult(
const std::wstring& result) { results_.push_back(result); }
59 void clearResults() { results_.clear(); }
62 HRESULT __stdcall get_Count(
long* pVal)
override;
63 HRESULT __stdcall get_IsSucceeded(VARIANT_BOOL* pVal)
override;
64 HRESULT __stdcall get_Item(
long Index, BSTR* pVal)
override;
65 HRESULT __stdcall Range(
long StartIndex,
long EndIndex, SAFEARRAY** pVal)
override;
68 VARIANT_BOOL isSucceeded_;
69 std::vector<std::wstring> results_;