Beispiel #1
0
 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);
 }
Beispiel #2
0
        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);
        }