---
name: "EnumThemeSizes"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/EnumThemeSizes"
---

# EnumThemeSizes(3w)

## NAME

**EnumThemeSizes** (UXTHEME.10)

## SYNOPSIS

HRESULT EnumThemeSizes\
  (\
   LPWSTR      *pszThemeFileName*,\
   LPWSTR      *pszColorName*,\
   DWORD       *dwSizeNum*,\
   PTHEMENAMES *pszSizeNames*\
  )

## DESCRIPTION

Enumerate theme colors available with a particular size.

## PARAMS

*pszThemeFileName* Path to a msstyles theme file

*pszColorName* Theme color to enumerate available sizes

If **NULL** the default theme color is used

*dwSizeNum* Size index to retrieve, increment from **0**

*pszSizeNames* Output size names.

## RETURNS

**S\_OK** on success **E\_PROP\_ID\_UNSUPPORTED** when dwSizeName does not refer to a size or when *pszColorName* does not refer to a valid color.

## NOTES

**XP** fails with **E\_POINTER** when *pszSizeNames* points to a buffer smaller than sizeof(**THEMENAMES**).

Not very efficient that I'm opening & validating the theme every call, but this is undocumented and almost never called.**.** (and this is how Windows(tm) works too)

## IMPLEMENTATION

Exported by ordinal only. Use **[GetProcAddress(3w)](/GetProcAddress/3w.md)** to obtain a pointer to the function.

Implemented in **"dlls/uxtheme/system.c"**.

Debug channel **"uxtheme"**.
