3
我想從IDL返回一個接口數組。 我試試這個:COM - 返回一個對象接口數組
interface ISecurityPolicy : IDispatch{
[id(6)] HRESULT GetPolicyList([out, ref, retval] SAFEARRAY(IEntityPolicy*)* result);
}
我得到這樣的警告(在VS 2010): 警告1個警告MIDL2456:[參數 '結果' 程序':SAFEARRAY(接口指針)不使用MIDL生成的代理工作GetPolicyList'(Interface'ISecurityPolicy')]
這是一個虛假的警告,因爲http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/84a632a9-4e29-4a95-8da7-f7aedb650339可能暗示?
刪除[ref]屬性,沒有多大意義。 –
恐怕我仍然得到這個警告。另一方面,事情是有效的,你只需要將返回類型調整爲SAFEARRAY(IUnknown *)*以使事情變得更容易 – Ghita
儘管如此,對我來說,使用集合實現可能是一個更好的主意。這將更清楚,只有更多的工作要做:-) – Ghita