Linux上的SAFEARRAY

时间:2019-01-24 11:11:20

标签: c++ linux safearray

我正在linux上使用专有库,该库在回调函数中使用SAFEARRAY类型:

HRESULT Write(SAFEARRAY *Data)

SAFEARRAY在头文件中定义为typedef void SAFEARRAY

我必须定义一个回调函数,该函数将获取数据(例如,以*unsigned char的形式和长度(例如,以intsize_t的形式)并将数据写入某个地方。 / p>

类似的东西:

HRESULT MyWrite(SAFEARRAY *Data) {
  unsigned char *data = SafeArrayGetData(Data);
  size_t length = SafeArrayGetLength(Data);
  write_data_somewhere(data, length);
}

然后将其与库一起使用:

ProprietaryLib::ExportThing(thing, MyWrite);

所以我的问题是:在没有oaidl.holeauto.h头文件的linux上,如何获取数据及其长度。

1 个答案:

答案 0 :(得分:0)

对此事有两种想法: