Lately, I've been doing a lot of interaction with unmanaged libraries and I keep coming back to SO to ask questions about certain method signatures because I'm not a C/C++ programmer (although it's not completely alien to me). There are situations where the same type of argument in two different methods require two different P/Invoke signatures (Ex: sometimes I can use the out
keyword, sometimes I have to use OutAttribute
, etc). I can't really see any sort of reasoning behind it.
Are there any good resources out there for understanding P/Invoke and marshaling better for someone who isn't a C/C++ expert?