internal unsafe static void ConvertContentsToNative_Type(ref Type[] managedArray, IntPtr pNativeHome)
 {
     if (managedArray != null)
     {
         TypeNameNative *ptr = *(IntPtr *)((void *)pNativeHome);
         for (int i = 0; i < managedArray.Length; i++)
         {
             SystemTypeMarshaler.ConvertToNative(managedArray[i], ptr + i);
         }
     }
 }
예제 #2
0
        internal static unsafe void ConvertContentsToNative_Type(ref Type[] managedArray, IntPtr pNativeHome)
        {
            if (managedArray == null)
            {
                return;
            }
            TypeNameNative *typeNameNativePtr = (TypeNameNative *)*(IntPtr *)(void *)pNativeHome;

            for (int index = 0; index < managedArray.Length; ++index)
            {
                SystemTypeMarshaler.ConvertToNative(managedArray[index], typeNameNativePtr + index);
            }
        }
        internal unsafe static void ClearNativeContents_Type(IntPtr pNativeHome, int cElements)
        {
            TypeNameNative *ptr = *(IntPtr *)((void *)pNativeHome);

            if (ptr != null)
            {
                for (int i = 0; i < cElements; i++)
                {
                    SystemTypeMarshaler.ClearNative(ptr);
                    ptr++;
                }
            }
        }
예제 #4
0
        internal static unsafe void ClearNativeContents_Type(IntPtr pNativeHome, int cElements)
        {
            TypeNameNative *pNativeType = (TypeNameNative *)*(IntPtr *)(void *)pNativeHome;

            if ((IntPtr)pNativeType == IntPtr.Zero)
            {
                return;
            }
            for (int index = 0; index < cElements; ++index)
            {
                SystemTypeMarshaler.ClearNative(pNativeType);
                ++pNativeType;
            }
        }