Пример #1
0
        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);
        }
Пример #2
0
        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);
        }