First of all, thanks for the response Mattias! I notice you consistently
help us problem ridden posters and let me just say we really appreciate the
time you take helping us.
Regarding my issue, I don't have the source code for the COM component so am
unable to change the type definitions for the Struct members. This dll does
not export these methods either, so, if I understand PInvoke correctly, I am
unable to use PInvoke since the method isn't exported. So, knowing what I
know now from the info contained in the link you referred to, if I were able
to flatten the struct members (get rid of array references, which I would
like to do anyways since I am always just passing in 1) this method would
complete S_OK. <- :s
So the question now is, is it possible to _redefine_ a structure which is
declared in the namespace of the COM component? So I would be able to call
'pseudo code
Structure MyNewlyRedefinedGroupAttribute
....
.... ' redefine the array structure to be non-arrays
end structure
Dim myNewlyRedefinedGroupAttributes as MyNewlyRedefinedGroupAttribute
Be able to use my redefined flattened structure without getting
"There is no interface that accepts these parameters
(myapp.MyNewlyRedefinedGroupAttribute, Nokia.TCSapi.tcsGroupAttributesMask_t,
int16)"
Create(myNewlyRedefinedGroupAttributes, groupAttributesMask, cookie)
Is it possible to just edit the IL and reassemble or will I get that
"missingfieldexception"?
Thanks in advance Mattias!
Aaron
"Mattias Sjögren" wrote:
> Aaron,
>
> >This struct has a member which is a struct
> >which contains an array of another struct.
>
> That's unfortunately not supported by the marshaler. See
>
> http://dotnetinterop.com/faq/?q=StructWithStructArray
>
>
>
> Mattias
>
> --
> Mattias Sjögren [MVP] mattias @ mvps.org
> http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
> Please reply only to the newsgroup.
>