请教一个问题(关于ATL)

tigerwen01 tigerwen01 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我使用VS.NET7.0创建一个ATL项目,里面有一个方法
STDMETHODIMP CMySignVerify::MySignMethod(BSTR signData, BSTR* revData)
{
。。。
BYTE *pbSignedBlob;
if(CryptSignMessage(
&SigParams, // Signature parameters
FALSE, // Not detached
1, // Number of messages
MessageArray, // Messages to be signed
MessageSizeArray, // Size of messages
pbSignedMessageBlob, // Buffer for signed message --我想返回这个值
&cbSignedMessageBlob)) // Size of buffer
{
*revData=(BSTR)pbSignedMessageBlob; //我想返回这个值,可是返回的是乱码
MessageBox(NULL,"签名成功","提示",MB_OK);
}
else
{
MessageBox(NULL,"签名失败","提示",MB_OK|MB_ICONERROR);
}
return S_OK;
}

问题是:*revData=(BSTR)pbSignedMessageBlob; //我想返回这个值,可是返回的是乱码,这里把BYTE类型强制转换为BSTR。
请问,BYTE和BSTR之间如何转换?
...全文
评论 14
收藏 已收藏
分享
返回顶部
tigerwen01
C++ 语言 65,214 成员 250,514 内容