佚名通过本文主要向大家介绍了atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复,atl等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL中自定义类指针的传递
描述:
解决方案1:
描述:
刚开始用ATL,对自定义类的指针传递不是很明白,虽然用强制类型转换实现了,但总感觉不太好,不知有没有更好或标准的方法来实现.
我的实现如下:
STDMETHODIMP CEtnApply::ShowMd5(BYTE *pMd5)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
// 用了强制类型转换
CXSMD5Etn *pApplyMd5 = (CXSMD5Etn *)pMd5;
TCHAR szData[] = _T("abcdef");
CString str = pApplyMd5->GetMD5HexString((BYTE *)szData, ::lstrlen(szData));
AfxMessageBox(str);
return S_OK;
}
解决方案1:
传递二进制数据可以用SafeArray,一般用一维的,VT_I1
COleSafeArray sa;
sa.CreateOneDim(VT_I1, 长度, pMd5);
直接用这个类对应的接口指针就可以了.
但要求是这个类必须是com对象
直接用这个类对应的接口指针就可以了.
但要求是这个类必须是com对象

