/// <summary> /// /// </summary> internal static unsafe DrmFormatModifierPropertiesList MarshalFrom(SharpVk.Interop.Multivendor.DrmFormatModifierPropertiesList *pointer) { DrmFormatModifierPropertiesList result = default(DrmFormatModifierPropertiesList); if (pointer->DrmFormatModifierProperties != null) { var fieldPointer = new SharpVk.Multivendor.DrmFormatModifierProperties[(uint)(pointer->DrmFormatModifierCount)]; for (int index = 0; index < (uint)(pointer->DrmFormatModifierCount); index++) { fieldPointer[index] = pointer->DrmFormatModifierProperties[index]; } result.DrmFormatModifierProperties = fieldPointer; } else { result.DrmFormatModifierProperties = null; } return(result); }
/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.Multivendor.DrmFormatModifierPropertiesList *pointer) { pointer->SType = StructureType.DrmFormatModifierPropertiesList; pointer->Next = null; pointer->DrmFormatModifierCount = (uint)(Interop.HeapUtil.GetLength(this.DrmFormatModifierProperties)); if (this.DrmFormatModifierProperties != null) { var fieldPointer = (SharpVk.Multivendor.DrmFormatModifierProperties *)(Interop.HeapUtil.AllocateAndClear <SharpVk.Multivendor.DrmFormatModifierProperties>(this.DrmFormatModifierProperties.Length).ToPointer()); for (int index = 0; index < (uint)(this.DrmFormatModifierProperties.Length); index++) { fieldPointer[index] = this.DrmFormatModifierProperties[index]; } pointer->DrmFormatModifierProperties = fieldPointer; } else { pointer->DrmFormatModifierProperties = null; } }