2008-03-19

COMの初期化

ある日突然更新できなくなって外してしまったW+Infoの代わりにGoogleニュースの内容をToday画面に表示させようと企んでいます。
(「RSS Ticker Todayがあるじゃないか」というのは置いておいて)
 
 
相変わらず XMLの読み込み(というかCOMの扱い)は苦手なので「Windows Mobileプログラミング徹底理解」を参考に(というかほとんどそのまま)作っているのですが、WM_CREATEの時に CoInitializeEx()しようとしたところ何故か常に失敗していました。
Todayプラグインにしなければ成功するので頭を抱えていたのですが、ふとMSDNを見ると初期化成功でS_OK、既に初期化済みの場合にS_FALSEが返るそうです。
Return Value
S_OK indicates that the COM library was initialized successfully.
S_FALSE indicates that the COM library is already initialized.
 
確かに S_FALSEの場合でもXMLの読み込みは問題なく行えます。
でも 一体誰が初期化してくれているのでしょうね。
また、S_FALSEが返ってきた時にCoUninitialize()していいものかどうかも気になるところです。
どんどんとCOMの苦手意識が強くなっていきます(笑
 

0 件のコメント: