internal static unsafe KeyValueStoreReplicaStatus CreateFromNative(IntPtr nativeKvs) { if (nativeKvs == IntPtr.Zero) { return(null); } var castedKvs = (NativeTypes.FABRIC_KEY_VALUE_STORE_STATUS_QUERY_RESULT *)nativeKvs; var managedKvs = new KeyValueStoreReplicaStatus(); managedKvs.DatabaseRowCountEstimate = castedKvs->DatabaseRowCountEstimate; managedKvs.DatabaseLogicalSizeEstimate = castedKvs->DatabaseLogicalSizeEstimate; managedKvs.CopyNotificationCurrentKeyFilter = NativeTypes.FromNativeString(castedKvs->CopyNotificationCurrentKeyFilter); managedKvs.CopyNotificationCurrentProgress = castedKvs->CopyNotificationCurrentProgress; managedKvs.StatusDetails = NativeTypes.FromNativeString(castedKvs->StatusDetails); if (castedKvs->Reserved != IntPtr.Zero) { var castedEx1 = (NativeTypes.FABRIC_KEY_VALUE_STORE_STATUS_QUERY_RESULT_EX1 *)castedKvs->Reserved; managedKvs.ProviderKind = (KeyValueStoreProviderKind)castedEx1->ProviderKind; managedKvs.MigrationStatus = KeyValueStoreMigrationStatus.CreateFromNative(castedEx1->MigrationStatus); } return(managedKvs); }
internal static unsafe KeyValueStoreMigrationStatus CreateFromNative(IntPtr nativeStatus) { if (nativeStatus == IntPtr.Zero) { return(null); } var castedStatus = (NativeTypes.FABRIC_KEY_VALUE_STORE_MIGRATION_QUERY_RESULT *)nativeStatus; var managedStatus = new KeyValueStoreMigrationStatus(); managedStatus.CurrentPhase = (KeyValueStoreMigrationPhase)castedStatus->CurrentPhase; managedStatus.State = (KeyValueStoreMigrationState)castedStatus->State; managedStatus.NextPhase = (KeyValueStoreMigrationPhase)castedStatus->NextPhase; return(managedStatus); }