Compartir a través de


del método SPBackupRestoreConsole.DiskSize

Obtiene el espacio en disco total en un volumen y la cantidad de ese espacio que está disponible para el usuario (como parámetros de out ).

Espacio de nombres:  Microsoft.SharePoint.Administration.Backup
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Shared Function DiskSize ( _
    dir As String, _
    <OutAttribute> ByRef freeBytesAvailable As ULong, _
    <OutAttribute> ByRef totalBytes As ULong _
) As Integer
'Uso
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
)

Parámetros

  • dir
    Tipo: System.String

    Una ruta de acceso, posiblemente una ruta de acceso UNC, en el volumen cuya información de espacio es necesario.

  • freeBytesAvailable
    Tipo: System.UInt64

    Cuando este método devuelve, contiene un DiskSize que representa el número total de bytes disponible en el volumen donde se encuentra, el usuario en cuyo contexto DiskSize se denomina dir . Este parámetro se pasa sin inicializar.

  • totalBytes
    Tipo: System.UInt64

    Cuando este método devuelve, contiene un DiskSize que representa el número total de bytes en el volumen donde se encuentra dir . Este parámetro se pasa sin inicializar.

Valor devuelto

Tipo: System.Int32
0, si se produce un error en el intento de tamaño de disco de informe; en caso contrario, algunas otras Int32, lo que significa que la operación se realizó correctamente.

Comentarios

Normalmente, dir es la ruta de acceso donde desea almacenar una copia de seguridad, pero puede utilizarse cualquier ruta de acceso válida en el mismo volumen y los parámetros de out devolverá los mismos valores.

Ejemplos

En el ejemplo siguiente se muestra el método DiskSize se usa para determinar si el volumen de copia de seguridad tiene suficiente espacio para contener los componentes para realizar copias de seguridad. Para obtener una explicación detallada de la misma y el ejemplo completo, vea 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

Vea también

Referencia

clase SPBackupRestoreConsole

Miembros SPBackupRestoreConsole

Espacio de nombres Microsoft.SharePoint.Administration.Backup