Partager via


SPBackupRestoreConsole.DiskSize - Méthode

Obtient l'espace disque total sur un volume et la quantité d'espace disponible pour l'utilisateur (en tant que paramètres de out ).

Espace de noms :  Microsoft.SharePoint.Administration.Backup
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Shared Function DiskSize ( _
    dir As String, _
    <OutAttribute> ByRef freeBytesAvailable As ULong, _
    <OutAttribute> ByRef totalBytes As ULong _
) As Integer
'Utilisation
Dim dir As String
Dim freeBytesAvailable As ULong
Dim totalBytes As ULong
Dim returnValue As Integer

returnValue = SPBackupRestoreConsole.DiskSize(dir, _
    freeBytesAvailable, totalBytes)
public static int DiskSize(
    string dir,
    out ulong freeBytesAvailable,
    out ulong totalBytes
)

Paramètres

  • dir
    Type : System.String

    Un chemin d'accès, éventuellement un chemin d'accès UNC, sur le volume dont les informations d'espace sont nécessaire.

  • freeBytesAvailable
    Type : System.UInt64

    Lorsque cette méthode est retournée, contient un DiskSize qui représente le nombre total d'octets disponible sur le volume où se trouve l'utilisateur dans dont contexte DiskSize est appelée dir . Ce paramètre est passé sans être initialisé.

  • totalBytes
    Type : System.UInt64

    Lorsque cette méthode est retournée, contient un DiskSize qui représente le nombre total d'octets sur le volume où se trouve le dir . Ce paramètre est passé sans être initialisé.

Valeur renvoyée

Type : System.Int32
0, si la taille du disque rapport échoue ; Sinon, une autre Int32, ce qui signifie que l'opération a réussi.

Remarques

En règle générale, dir est le chemin d'accès où vous souhaitez stocker une sauvegarde, mais n'importe quel chemin d'accès valide sur le même volume peut être utilisé et les paramètres out renvoient les mêmes valeurs.

Exemples

L'exemple suivant montre la méthode DiskSize est utilisée pour déterminer si le volume de sauvegarde dispose de suffisamment d'espace pour contenir les composants à sauvegarder. Pour l'exemple complet et une description détaillée de ce dernier, consultez How to: Programmatically Back Up Content.

private static Boolean EnsureEnoughDiskSpace(String location, Guid backup, SPBackupRestoreObject node)
{
    UInt64 backupSize = SPBackupRestoreConsole.DiskSizeRequired(backup, node);
    UInt64 diskFreeSize = 0;
    UInt64 diskSize = 0;
    Boolean hasEnoughSpace = true;

    try
    {
        SPBackupRestoreConsole.DiskSize(location, out diskFreeSize, out diskSize);
    }
    catch
    {
        diskFreeSize = diskSize = UInt64.MaxValue;
    }

    if (backupSize > diskFreeSize)
    {
        // Report through your UI that there is not enough disk space.
        Console.WriteLine("{0} bytes of space is needed but the disk hosting {1} has only {2}.", backupSize, location, diskFreeSize);
        Console.WriteLine("Please try again with a different backup location or a smaller component.");
        hasEnoughSpace = false;
    }
    else if (backupSize == UInt64.MaxValue || diskFreeSize == 0)
    {
        // Report through your UI that it cannot be determined whether there is enough disk space.
        Console.WriteLine("Cannot determine if that location has enough disk space.");
        Console.WriteLine("Please try again with a different backup location or a smaller component.");
        hasEnoughSpace = false;
    }
    return hasEnoughSpace;

}// end EnsureEnoughDiskSpace
Private Shared Function EnsureEnoughDiskSpace(ByVal location As String, ByVal backup As Guid, ByVal node As SPBackupRestoreObject) As Boolean
    Dim backupSize As UInt64 = SPBackupRestoreConsole.DiskSizeRequired(backup, node)
    Dim diskFreeSize As UInt64 = 0
    Dim diskSize As UInt64 = 0
    Dim hasEnoughSpace As Boolean = True

    Try
        SPBackupRestoreConsole.DiskSize(location, diskFreeSize, diskSize)
    Catch
        diskSize = UInt64.MaxValue
        diskFreeSize = diskSize
    End Try

    If backupSize > diskFreeSize Then
        ' Report through your UI that there is not enough disk space.
        Console.WriteLine("{0} bytes of space is needed but the disk hosting {1} has only {2}.", backupSize, location, diskFreeSize)
        Console.WriteLine("Please try again with a different backup location or a smaller component.")
        hasEnoughSpace = False
    ElseIf backupSize = UInt64.MaxValue OrElse diskFreeSize = 0 Then
        ' Report through your UI that it cannot be determined whether there is enough disk space.
        Console.WriteLine("Cannot determine if that location has enough disk space.")
        Console.WriteLine("Please try again with a different backup location or a smaller component.")
        hasEnoughSpace = False
    End If
    Return hasEnoughSpace

End Function ' end EnsureEnoughDiskSpace

Voir aussi

Référence

SPBackupRestoreConsole classe

SPBackupRestoreConsole - Membres

Microsoft.SharePoint.Administration.Backup - Espace de noms