C# 如何在C ActiveX中实现异步文件下载 我正在C.中重新执行C++ ActiveX控件 C++版本使用继承自CDATAPATHORT属性的属性类。下面的代码在C中应该是什么样子 class CFileProperty : public CDataPathProperty { DECLARE_DYNAMIC(CFileProperty ) ... }

C# 如何在C ActiveX中实现异步文件下载 我正在C.中重新执行C++ ActiveX控件 C++版本使用继承自CDATAPATHORT属性的属性类。下面的代码在C中应该是什么样子 class CFileProperty : public CDataPathProperty { DECLARE_DYNAMIC(CFileProperty ) ... },c#,c++,activex,C#,C++,Activex,任何推荐信,不胜感激 我实际上想做的是:ActiveX托管在IE中,在一个对象标记内: <object type="application/content-type" data="path-or-url-to-file"> <PARAM name="Url" value="path-or-url-to-file" /> </object> 因此IE应该下载文件本身并将其提供给ActiveX。我必须确保文件不会被下载两次!当然,我希望有一个解决方案,其

任何推荐信,不胜感激

我实际上想做的是:ActiveX托管在IE中,在一个对象标记内:

<object type="application/content-type" data="path-or-url-to-file">
    <PARAM name="Url" value="path-or-url-to-file" />
</object>

因此IE应该下载文件本身并将其提供给ActiveX。我必须确保文件不会被下载两次!当然,我希望有一个解决方案,其中使用了数据参数,而url参数已过时。

我在C中找不到CDATA PathProperty conterpart。因此我正在寻找另一种方法

为了正确处理具有内容类型和数据属性的对象标记,可以实现IPersitMoniker。唯一相关的方法是加载

 public void Load(int fFullyAvailable, IMoniker pmk, IBindCtx pbc, uint grfMode)
 {
     if (pmk == null)
         throw new ArgumentNullException("pmk");

     string url;
     pmk.GetDisplayName(null, null, out url);

     // Use the moniker to download the persisted data
     // and obtain an IStream on that data
     Guid iid = InterfaceID.IID_IStream;
     object pStream;
     pmk.BindToStorage(pbc, null, ref iid, out pStream);

     // do whatever you want with the data inside pStream
     ...
}