2011-06-30 43 views
0

將下面的代碼工作,如果安全數組數要返回爲零?我應該做別的嗎?安全數組 - 設置數量爲零

HRESULT GetAlarms(FAULT_TYPE eAlarmType, long alarmLevel, VARIANT* pvarAlamLst) 
{ 
    pvarAlamLst->vt = VT_ARRAY |VT_VARIANT; 
    pvarAlamLst->parray = NULL; 
    return S_OK; 
} 

回答

2

pArrayLPSAFEARRAY和應被視爲這樣。因此您需要SAFEARRAY函數(宏)。 SAFEARRAY沒有「count」的概念,因此它是一個可變維數組。一維SAFEARRAY可具有大小0,但2D SAFEARRAY可具有大小0x0(或1x0)。

特別是,MSDN文檔VT_ARRAY作爲「parray中的指針指向數組描述符」,但NULL不指向數組描述符。

相關問題