我正在评估 Server 2008。我的 C++ 可执行文件出现此错误。我在 MSDN 上看到过这个错误,似乎需要对以前的几个操作系统进行热修复。还有人看到这个吗?对于 32 位和 64 位操作系统,我得到了相同的结果。
代码片段:
HRESULT GroupStart([in] short iClientId, [in] VARIANT GroupDataArray,
[out] short* pGroupInstance, [out] long* pCommandId);
其中 GroupDataArray VARIANT 参数包装了包装 DCAPICOM_GroupData 结构条目的 VARIANT 的单维 SAFEARRAY:
// DCAPICOM_GroupData
[
uuid(F1FE2605-2744-4A2A-AB85-1E1845C280EB),
helpstring("removed")
]
typedef struct DCAPICOM_GroupData {
[helpstring("removed")]
long m_lImageID;
[helpstring("removed")]
unsigned char m_ucHeadID;
[helpstring("removed")]
unsigned char m_ucPlateID;
} DCAPICOM_GroupData;
最佳答案
在打开 Microsoft 支持案例后,我现在可以回答我自己的问题。这是(现在)公认的 错误 .该问题与服务器端的编码有关,但在调用服务器代码之前。我们的结构有 6 个字节长,但是这个 COM 实现将它解释为 8 个字节,因此编码失败,这就是您返回的错误。在发布 Service Pack 来处理此问题之前,解决方法是向结构中添加两个额外的字节以将其填充至 8 个字节。我们还没有遇到更多失败的实例,但我们仍然有很多测试要做。
关于com - window 服务器 2008 : COM error: 0x800706F7 - The stub received bad data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65097/