internal static unsafe BackupStoreInformation FromNative(IntPtr pointer) { var nativeStoreInformation = *(NativeBackupRestoreTypes.FABRIC_BACKUP_STORE_INFORMATION *)pointer; if (nativeStoreInformation.StoreType == NativeBackupRestoreTypes.FABRIC_BACKUP_STORE_TYPE.FABRIC_BACKUP_STORE_TYPE_FILE_SHARE) { return(FileShareBackupStore.FromNative(nativeStoreInformation)); } else if (nativeStoreInformation.StoreType == NativeBackupRestoreTypes.FABRIC_BACKUP_STORE_TYPE.FABRIC_BACKUP_STORE_TYPE_AZURE_STORE) { return(AzureBlobBackupStore.FromNative(nativeStoreInformation)); } return(null); }
internal static unsafe FileShareBackupStore FromNative(NativeBackupRestoreTypes.FABRIC_BACKUP_STORE_INFORMATION storeInformation) { var fileShareStoreInformationNative = *(NativeBackupRestoreTypes.FABRIC_BACKUP_STORE_FILE_SHARE_INFORMATION *)storeInformation.StoreAccessInformation; var fileShareBackupStore = new FileShareBackupStore { AccessType = (FileShareAccessType)fileShareStoreInformationNative.AccessType, FileSharePath = NativeTypes.FromNativeString(fileShareStoreInformationNative.FileSharePath), PrimaryUserName = NativeTypes.FromNativeString(fileShareStoreInformationNative.PrimaryUserName), PrimaryPassword = NativeTypes.FromNativeString(fileShareStoreInformationNative.PrimaryPassword), SecondaryUserName = NativeTypes.FromNativeString(fileShareStoreInformationNative.SecondaryUserName), SecondaryPassword = NativeTypes.FromNativeString(fileShareStoreInformationNative.SecondaryPassword), IsPasswordEncrypted = NativeTypes.FromBOOLEAN(fileShareStoreInformationNative.IsPasswordEncrypted) }; return(fileShareBackupStore); }