Marshaling Nested Data Structures Part 2

This is part 2 of a series. You can find part one here. Please refer to that article for all of the Native definitions of the structures that I use here.

Marshaling Nested Data Structures Part 1

A frequent question that pops up on newsgroups such as microsoft.dotnet.framework.interop is how to Marshal nested structures (and arrays of nested structures) via P/Invoke. The documentation on the subject that I have found usually only covers structures that defined in the UnmanagedType enumeration and just touch on the idea of structures containing nested arrays of custom structures. Part of the reason is that the explinations for these problems is quite involed and scenario specific. After answering it a few times I decided to make a multi part blog post on the subject. This will consist of at least 4 entries (might add some more if something comes up).

436501

Valery Pryamikov has released an update version of his RunAsAdmin tool. This version has a lot of new features including policy and stronger integration with the shell. This version is still in Beta but it’s been very stable for me.

433489

For the last few weeks, I’ve been playing around with a LUA tool that was recently presented to me. The tool is available on the following website

423000

A week ago, I blogged about how to register COM objects as LUA. This is a follow up post, to show you how to alter your standard ATL registration code so that your DLL will register for the current user instead of for the machine.