http://bugs.winehq.org/show_bug.cgi?id=8539
--- Comment #24 from Nikolay Sivov bunglehead@gmail.com --- I spent some time today on this, and now I can say that SafeArrayCopyData() is broken when array is IRecordInfo based - this call just copies over pointers from existing array, and this is obviously won't go very well. Proper way to do so is to call IRecordInfo_RecordCopy(), I have some tests for that but need more time to polish them. Anyway it's not enough, after this fixed it still crashes in RecordCopy() on BSTR field. So it's really about safearray<->recordinfo interoperation as far as I can tell.