这是我的方法定义:
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*值列表,而我不知道该如何做。
发布于 2017-01-03 19:17:16
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);https://stackoverflow.com/questions/41450605
复制相似问题