You cannot simply pass a struct to a COM method. But you can pass a pointer to te struct and that is more than enough. All you need to do is use the parameter data type as VARIANT and use the byref variable to point the struct pointer variable to byref so that you can recive it inside the method..
so define the idl with the methods name and one paramater with variant type
the implement the .h and .cpp files accordingly..
Hope this helps..
Tom