From: Chuck Remes Date: 2010-04-08T10:51:12+09:00 Subject: Re: Complicated output parameter in WIN32OLE On Apr 7, 2010, at 8:05 PM, Mitchell Hashimoto wrote: > Hello, > > I have a somewhat "complicated" output parameter I need to get via > WIN32OLE and I'm having trouble getting it correct. The method signature > is as follows: > > void GetDescription (out VirtualSystemDescriptionType[] aTypes, out > wstring[] aRefs, out wstring[] aOvfValues, out wstring[] aVBoxValues, > out wstring[] aExtraConfigValues) > > I'm able to get basic string output parameters fine, but as soon as I > hit this method, I was stumped. How am I supposed to query this method > via the 'win32ole' library. My initial attempts were failures: > > object.GetDescription(0, 0, 0, 0, 0) # Errors type mismatch > object.GetDescription([], [], [], [], []) # Errors type mismatch > > I'm fairly certain I'll have to use object._invoke directly here but I'm > not sure what types to put into the types array. I have the win32ole.c > file open and I'm looking at the various types which are defined but I'm > not sure which to try. I'm not sure what to do here either. Have you tried retrieving the WIN32OLE_METHOD and then looping through each param and asking its #ole_type? Check out WIN32OLE_PARAM.ole_type for the general idea. cr