public object MarshalNativeToManaged(IntPtr pNativeData)
{
#if RECURSIVE_WRAPPING
pNativeData = ManagedToNativeWrapper.GetInterface(NativeToManagedWrapper.GetInterface(pNativeData, true));
#endif
return NativeToManagedWrapper.GetInterface(pNativeData, false);
}