首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将COleDateTime对象的列表作为SAFEARRAY传递*

如何将COleDateTime对象的列表作为SAFEARRAY传递*
EN

Stack Overflow用户
提问于 2017-01-03 19:04:44
回答 1查看 139关注 0票数 0

这是我的方法定义:

代码语言:javascript
复制
IMSAToolsLibraryInterface : IUnknown
{
    //
    // Raw methods provided by interface
    //

      virtual HRESULT __stdcall SetPathXML (
        /*[in]*/ BSTR strPathXML,
        /*[out]*/ __int64 * iResult ) = 0;
      virtual HRESULT __stdcall SavePublisherData (
        /*[out]*/ __int64 * iResult ) = 0;
      virtual HRESULT __stdcall ReadPublisherData (
        /*[out]*/ __int64 * iResult ) = 0;
      virtual HRESULT __stdcall Test ( ) = 0;
      virtual HRESULT __stdcall AddPublisher (
        /*[in]*/ BSTR strName,
        /*[in]*/ BSTR strNotes,
        /*[in]*/ enum Gender eGender,
        /*[in]*/ enum Appointed eAppointedAs,
        /*[in]*/ enum Serving eServingAs,
        /*[in]*/ VARIANT_BOOL bUseForDemonstrations,
        /*[in]*/ VARIANT_BOOL bAvailableMidweek,
        /*[in]*/ VARIANT_BOOL bAvailableWeekend,
        /*[in]*/ SAFEARRAY * listDatesNotAvailable ) = 0;
};

它现在有一个新的最后一个参数,它实际上是DateTime DLL方法中的一个C#对象数组。我已经阅读了一些关于这个主题的内容,从MFC上看,我需要使用COleSafeArray来创建一个安全的合适条目数组。

这让我很困惑。基本上,我希望能够作为这个COleDateTime参数传递一个SAFEARRAY*值列表,而我不知道该如何做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-03 19:17:16

代码语言:javascript
复制
COleSafeArray arr;
arr.CreateOneDim(VT_DATE, num_elements);

DATE* data;
arr.AccessData((void**)&data);
data[0] = my_date;
// Assign other elements as needed
arr.UnaccessData();

my_itf_pointer->AddPublisher(..., arr.parray);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41450605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档