I have a C# Windows Service which hosts a COM class whose client is C++ native code. On one method of the interface, there is the potential for a lot of data to be returned. Internally, the method is using an ArrayList of structs. The method has an [out]
parameter typed as IEnumerator. In the method, I assign ArrayList.GetEnumerator() to this out parameter. The Type library export is getting it right; it is typing the out parameter as IEnumVARIANT, as expected.
However, on the client side, when I try to call Next() on the IEnumVARIANT interface pointer, I get an E_INVALIDARG HRESULT. Since the arguments to Next() are of the correct types, I'm at a loss as to what the problem is, and am thinking
I'm doing something wrong on the Host side. Can anyone help me out here?
Regards, D. T. Doutel
View Complete Post