public object MarshalNativeToManaged(IntPtr pNativeData) { if (pNativeData == NULL) { return(null); } if (this.kind == MarshalAsKind.kStateObject) { return(MarshalAs.IUnknownToObject(pNativeData)); } if (this.kind == MarshalAsKind.kVirtualMachine) { return(NSJSVirtualMachine.From(pNativeData)); } return(null); }
public virtual T GetData <T>(int solt) { IntPtr p = this.GetData(solt); if (typeof(T) == typeof(IntPtr)) { return((T)(object)p); } object obj = MarshalAs.IUnknownToObject(p); if (obj == null || !typeof(T).IsInstanceOfType(obj)) { return(default(T)); } return((T)obj); }