internal static unsafe DeployedServiceReplicaDetail CreateFromNative( NativeTypes.FABRIC_DEPLOYED_STATELESS_SERVICE_INSTANCE_DETAIL_QUERY_RESULT_ITEM nativeResultItem) { DeployedStatelessServiceInstance deployedReplicaInstance = new DeployedStatelessServiceInstance(); if (nativeResultItem.Reserved != IntPtr.Zero) { var extended1 = (NativeTypes.FABRIC_DEPLOYED_STATELESS_SERVICE_INSTANCE_DETAIL_QUERY_RESULT_ITEM_EX1 *)nativeResultItem.Reserved; var deployedServiceReplica = *(NativeTypes.FABRIC_DEPLOYED_STATELESS_SERVICE_INSTANCE_QUERY_RESULT_ITEM *)extended1->DeployedServiceReplica; deployedReplicaInstance = DeployedStatelessServiceInstance.FromNative(deployedServiceReplica); } var rv = new DeployedStatelessServiceInstanceDetail { CurrentServiceOperation = (ServiceOperationName)nativeResultItem.CurrentServiceOperation, CurrentServiceOperationStartTimeUtc = NativeTypes.FromNativeFILETIME(nativeResultItem.CurrentServiceOperationStartTimeUtc), InstanceId = nativeResultItem.InstanceId, PartitionId = nativeResultItem.PartitionId, ReportedLoad = LoadMetricReport.CreateFromNativeList((NativeTypes.FABRIC_LOAD_METRIC_REPORT_LIST *)nativeResultItem.ReportedLoad), ServiceName = new Uri(NativeTypes.FromNativeString(nativeResultItem.ServiceName)), DeployedServiceReplicaInstance = deployedReplicaInstance, }; return(rv); }
#pragma warning restore 0618 internal static unsafe DeployedServiceReplica CreateFromNative( NativeTypes.FABRIC_DEPLOYED_SERVICE_REPLICA_QUERY_RESULT_ITEM nativeResultItem) { if ((ServiceKind)nativeResultItem.Kind == ServiceKind.Stateless) { NativeTypes.FABRIC_DEPLOYED_STATELESS_SERVICE_INSTANCE_QUERY_RESULT_ITEM nativeStatelessInstanceQueryResult = *(NativeTypes.FABRIC_DEPLOYED_STATELESS_SERVICE_INSTANCE_QUERY_RESULT_ITEM *)nativeResultItem.Value; return(DeployedStatelessServiceInstance.FromNative(nativeStatelessInstanceQueryResult)); } else if ((ServiceKind)nativeResultItem.Kind == ServiceKind.Stateful) { NativeTypes.FABRIC_DEPLOYED_STATEFUL_SERVICE_REPLICA_QUERY_RESULT_ITEM nativeStatefulServiceQueryResult = *(NativeTypes.FABRIC_DEPLOYED_STATEFUL_SERVICE_REPLICA_QUERY_RESULT_ITEM *)nativeResultItem.Value; return(DeployedStatefulServiceReplica.FromNative(nativeStatefulServiceQueryResult)); } else { AppTrace.TraceSource.WriteNoise( "DeployedServiceReplica.CreateFromNative", "Ignoring the result with unsupported ServiceKind value {0}", (int)nativeResultItem.Kind); return(null); } }