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)
     Return sb.ToString()
End Function        

Documentation