0
我需要从COM服务器返回日期信息。我在C/C++中看到了IDL中的DATE类型被映射为double类型。当我回到我会从内部SYSTEMTIME转换的日期,以便匹配所需的输出类型这样的翻番:COM,返回DATE信息
... comIFaceMethod(DATE* result)
{
SYSTEMTIME computed;
::SystemTimeToVariantTime(&computed, result);
}
这是transfering通过COM的日期信息的正确方法是什么?我问这是因为这种作品,但我也有时会看到一些奇怪的结果,不知道原因。我最后的选择是在COM中定义我自己的SYSTEMTIME结构来传输结果,但我更喜欢更好的解决方案...
在上面的示例中,我计算“计算”一些其他地方,我也验证来自SystemTimeToVariantTime转换的结果
假设您实际给* * computed *变量一个适当的值,是的,这是正确的。不检查返回值当然是不正确的。 –
@Hans,你的意思是不检查SystemTimeToVariantTime转换为OK,是的,你是对的 – Ghita