We eventually decided to flip the bozo-bit and mark the method as unsafe and pass the first two arguments as Guid*. This _seems_ to work fine in use, but I'm always leery of such shenanigans in .Net.
And opinions on what I _should_ have done?
You did the right thing IMO.
Another possible way is to make the parameter an array
[MarshalAs(UnmanagedType.LPArray)] Guid[] pCategory,
and then either pass in a 1 item array or null. The downside of this approach is that it requires a heap allocation for the array which is less efficient.
Mattias
-- Mattias Sj�gren [EMAIL PROTECTED]
=================================== This list is hosted by DevelopMentor� http://www.develop.com Some .NET courses you may be interested in:
NEW! Guerrilla ASP.NET, 26 Jan 2004, in Los Angeles http://www.develop.com/courses/gaspdotnetls
View archives and manage your subscription(s) at http://discuss.develop.com
