StrFormatByteSize (shlwapi)
Last changed: FallenGameR-75.165.13.109

.
Summary
TODO - a short description

C# Signature:

[DllImport ( "Shlwapi.dll", CharSet = CharSet.Auto )]
public static extern long StrFormatByteSize (
        long fileSize
        , [MarshalAs ( UnmanagedType.LPTStr )] StringBuilder buffer
        , int bufferSize );

VB Signature:

<System.Runtime.InteropServices.DllImport("shlwapi", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function StrFormatByteSize(ByVal fileSize As Long, _
        ByVal buffer As Text.StringBuilder, _
        ByVal bufferSize As Integer) As Long
End Function

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

C#

long filelength = 123456789;
StringBuilder sb = new StringBuilder ();
Explorer.StrFormatByteSize ( filelength, sb, 20 );    // this is not a magic number. I think 8 is the minimum
Console.WriteLine ( sb );

VB

    ''' <summary>
    ''' Returns a string representation of a number of bytes (ie. 524288 = "512Kb")
    ''' </summary>
    Private Function fnFileSize(ByVal size As Long) As String
    Dim sb As New Text.StringBuilder(20)
    StrFormatByteSize(size, sb, sb.Capacity)
    Dim s As String = sb.ToString()
    Return s
    End Function        

Documentation