異常: 0x00000000: 操作成功完成
簡單取個例子,現(xiàn)在有以下COM指針,p1,p2,兩個COM里的方法,BOOL TT1(COM指針1,COM指針2),BOOL TT2(COM指針); TT1方法,實現(xiàn)將COM指針1轉為COM指針2, TT2作為其它操作調用,它需要的是COM指針2類型的指針。
現(xiàn)在,你調用TT1,傳遞了p1, p2(p1有效,p2為NULL),TT1方法,返回TRUE,也就是轉換成功,現(xiàn)在p2也就是有效值。再調用TT2,返回了TRUE。這就樣調用成功。但是假如我現(xiàn)在所使用的系統(tǒng)并非原始的開發(fā)系統(tǒng)(版本),其內核COM庫,有所改變(方法的實現(xiàn)),當我在調用TT1方法的時候,p2返回了一個有效值,但對于此版本的系統(tǒng)來說,p2轉換很有可能不成功(或者是有了新的方法代替,或者是此方法在此版本中不提倡再被使用,或者原始的此方法被另一個名稱的方法替代,而現(xiàn)有版本的方法有所更新。),很就是很有可能是NULL。當其值為NULL時,系統(tǒng)Catch到了此異常,自動調用了另一個被兼容的方法。因此拋出了此異常。但是由于catch的作用,程序的執(zhí)行仍然達到了目的。
現(xiàn)在,你調用TT1,傳遞了p1, p2(p1有效,p2為NULL),TT1方法,返回TRUE,也就是轉換成功,現(xiàn)在p2也就是有效值。再調用TT2,返回了TRUE。這就樣調用成功。但是假如我現(xiàn)在所使用的系統(tǒng)并非原始的開發(fā)系統(tǒng)(版本),其內核COM庫,有所改變(方法的實現(xiàn)),當我在調用TT1方法的時候,p2返回了一個有效值,但對于此版本的系統(tǒng)來說,p2轉換很有可能不成功(或者是有了新的方法代替,或者是此方法在此版本中不提倡再被使用,或者原始的此方法被另一個名稱的方法替代,而現(xiàn)有版本的方法有所更新。),很就是很有可能是NULL。當其值為NULL時,系統(tǒng)Catch到了此異常,自動調用了另一個被兼容的方法。因此拋出了此異常。但是由于catch的作用,程序的執(zhí)行仍然達到了目的。