一点说明:
创建捆绑环境。可以利用ActiveX API提供的CreatAsyncBindCtx()函数。该调用要求为应用程序的IBindStatusCallback函数提供一个指针。没有该接口,系统和传输就没办法与应用程序进行通信。如果应用程序需要实现特殊功能,如MIME,那么你还需要给可选的IEnumFormatETC接口提供一个指针。格式枚举器允许服务器和传输确定应用程序能处理什么数据格式(它们总假定应用程序能处理文本数据)。代码如下:
//创建Moniker m_pmk
hr = CreateURLMoniker(NULL, wszUrl, &m_pmk);
if (FAILED(hr))
goto Error; //绑定环境,通过向绑定环境注册一个回调接口,
//我们可以控制URL传输的过程,并得到反馈信息。
hr = CreateBindCtx(0, &m_pbc);
if (FAILED(hr))
goto Error; //如何告诉 moniker的MIME类型???? ///向绑定环境注册一个回调接口IBindStatusCallback
hr = RegisterBindStatusCallback(m_pbc,
m_pbsc,
0,
0L);
if (FAILED(hr))
{
goto Error;
}
//执行绑定,启动实际的URL访问及数据传输过程。
hr = m_pmk->BindToStorage(m_pbc, 0, IID_IStream, (void**)&pstm);
if (FAILED(hr))
goto Error;问题:如何编写告诉 moniker的MIME类型的代码?
创建捆绑环境。可以利用ActiveX API提供的CreatAsyncBindCtx()函数。该调用要求为应用程序的IBindStatusCallback函数提供一个指针。没有该接口,系统和传输就没办法与应用程序进行通信。如果应用程序需要实现特殊功能,如MIME,那么你还需要给可选的IEnumFormatETC接口提供一个指针。格式枚举器允许服务器和传输确定应用程序能处理什么数据格式(它们总假定应用程序能处理文本数据)。代码如下:
//创建Moniker m_pmk
hr = CreateURLMoniker(NULL, wszUrl, &m_pmk);
if (FAILED(hr))
goto Error; //绑定环境,通过向绑定环境注册一个回调接口,
//我们可以控制URL传输的过程,并得到反馈信息。
hr = CreateBindCtx(0, &m_pbc);
if (FAILED(hr))
goto Error; //如何告诉 moniker的MIME类型???? ///向绑定环境注册一个回调接口IBindStatusCallback
hr = RegisterBindStatusCallback(m_pbc,
m_pbsc,
0,
0L);
if (FAILED(hr))
{
goto Error;
}
//执行绑定,启动实际的URL访问及数据传输过程。
hr = m_pmk->BindToStorage(m_pbc, 0, IID_IStream, (void**)&pstm);
if (FAILED(hr))
goto Error;问题:如何编写告诉 moniker的MIME类型的代码?
也就是说 m_pbc这个参数如何赋值
WCHAR szMon[] = L"@device:*:{860BB310-5D01-11d0-BD3B-00A0C911CE86}";
ULONG chEaten = 0;
hr = MkParseDisplayName(m_pbc, szMon, &chEaten, &m_pmk);请问:base64的MIME类型是多少?也就是上面的WCHAR szMon[] 如果表示 base64的UUID该如何去写?