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