internal static unsafe IList <PartitionHealthState> FromNativeList(IntPtr nativeListPtr) { if (nativeListPtr != IntPtr.Zero) { var nativeList = (NativeTypes.FABRIC_PARTITION_HEALTH_STATE_LIST *)nativeListPtr; return(PartitionHealthStateList.FromNativeList(nativeList)); } else { return(new PartitionHealthStateList()); } }
internal static unsafe PartitionHealthStateList FromNativeList( NativeTypes.FABRIC_PARTITION_HEALTH_STATE_LIST *nativeList) { var retval = new PartitionHealthStateList(); var nativeItemArray = (NativeTypes.FABRIC_PARTITION_HEALTH_STATE *)nativeList->Items; for (int i = 0; i < nativeList->Count; ++i) { var nativeItem = *(nativeItemArray + i); var item = PartitionHealthState.FromNative(nativeItem); if (item != null) { retval.Add(item); } } return(retval); }