我需要从COM服务器返回日期信息。我在IDL中看到了DATE类型,它在C / C ++中被映射为double类型。当我返回日期时,我将从SYSTEMTIME内部转换为double,以便匹配所需的输出类型,如下所示:
... comIFaceMethod(DATE* result)
{
SYSTEMTIME computed;
::SystemTimeToVariantTime(&computed, result);
}
这是通过COM传输日期信息的正确方法吗?我问这是因为这种作品,但我有时也会看到一些奇怪的结果而且不知道原因。我的最后一个选择是在COM中定义我自己的SYSTEMTIME结构来传输结果,但我更喜欢更好的解决方案......
在上面的示例中,我计算了“计算”其他地方,我还验证了SystemTimeToVariantTime转换的结果
答案 0 :(得分:0)
代码示例显示了通过COM传输日期信息的正确方法。 “我问这个因为这种作品,但我有时会看到一些奇怪的结果” - 它现在有效。