
Windows Server 2008: COM error: 0x800706F7 - The stub received bad data我正在评估Server2008。我的C ++可执行文件出现此错误。 我已经在MSDN上看到此错误,该错误似乎已针对多个先前的OS要求进行热修复。 其他人看到了吗? 对于32和64位操作系统,我得到相同的结果。 程式码片段:
其中GroupDataArray VARIANT参数包装了一维的SAFEARRAY VARIANT,包装了DCAPICOM_GroupData结构条目:
与Microsoft开立支持案例后,我现在可以回答我自己的问题。 这是(现在)公认的错误。 问题与在服务器端进行封送有关,但在调用服务器代码之前。 我们的结构长6个字节,但是此COM实现将其解释为8,因此编组失败,这就是您得到的错误。 在发布Service Pack来解决此问题之前,解决方法是在结构中添加两个额外的字节,以将其最多填充8个字节。 我们还没有遇到任何失败的实例,但是仍然有很多测试要做。 我们最近在通过DCOM进行通信的客户端/服务器应用程序中遇到了相同的错误。 事实证明,穿过电线的编组接口指针的大小(即非本地)已更改(变大了)。 您可能想检查您的代码是否正在通过CoMarshalInterface等进行任何特殊的编组。 |