StrFormatByteSizeW function

Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. Differs from StrFormatByteSizeA in one parameter type.

Syntax

PWSTR StrFormatByteSizeW(
  LONGLONG qdw,
  PWSTR    pszBuf,
  UINT     cchBuf
);

Parameters

qdw

Type: LONGLONG

The numeric value to be converted.

pszBuf

Type: PWSTR

A pointer to a buffer that, when this function returns successfully, receives the converted number.

cchBuf

Type: UINT

The size of the buffer pointed to by pszBuf, in characters.

Return Value

Type: PWSTR

Returns a pointer to the converted string, or NULL if the conversion fails.

Remarks

The first parameter of this function has different types for the ANSI and Unicode versions. If your numeric value is a DWORD, you can use StrFormatByteSize with text macros for both cases. The compiler will cast the numerical value to a LONGLONG for the Unicode case. If your numerical value is a LONGLONG, you should use StrFormatByteSizeW explicitly.

In Windows 10, size is reported in base 10 rather than base 2. For example, 1 KB is 1000 bytes rather than 1024.

The following table illustrates how this function converts a numeric value into a text string.

Numeric value Text string
532 532 bytes
1340 1.30 KB
23506 22.9 KB
2400016 2.28 MB
2400000000 2.23 GB

Requirements

   
Windows version Windows 2000 Professional, Windows XP [desktop apps only] Windows 2000 Server [desktop apps only]
Target Platform Windows
Header shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (version 4.71 or later)

See Also

StrFormatByteSize64

StrFormatByteSizeA

StrFormatByteSizeEx