diff --git a/dlls/comctl32/comctl32.spec b/dlls/comctl32/comctl32.spec index aff8c8b8335..1e92e5fe95b 100644 --- a/dlls/comctl32/comctl32.spec +++ b/dlls/comctl32/comctl32.spec @@ -127,11 +127,12 @@ @ stdcall DestroyPropertySheetPage(long) @ stdcall -private DllGetVersion(ptr) @ stdcall -private DllInstall(long wstr) -@ stdcall DPA_GetSize(ptr) +@ stdcall -ret64 DPA_GetSize(ptr) @ stdcall DrawShadowText(long wstr long ptr long long long long long) @ stdcall DrawStatusText(long ptr ptr long) DrawStatusTextA @ stdcall DrawStatusTextW(long ptr wstr long) @ stdcall DSA_Clone(ptr) +@ stdcall -ret64 DSA_GetSize(ptr) @ stdcall FlatSB_EnableScrollBar (long long long) @ stdcall FlatSB_GetScrollInfo (long long ptr) @ stdcall FlatSB_GetScrollPos (long long) diff --git a/dlls/comctl32/dsa.c b/dlls/comctl32/dsa.c index 73f0d3041a2..32f9926b689 100644 --- a/dlls/comctl32/dsa.c +++ b/dlls/comctl32/dsa.c @@ -470,3 +470,23 @@ HDSA WINAPI DSA_Clone(HDSA hdsa) return dest; } + +/************************************************************************** + * DSA_GetSize [COMCTL32.@] + * + * Returns allocated memory size for this array + * + * PARAMS + * hdsa [I] handle to the dynamic storage array + * + * RETURNS + * Size + */ +ULONGLONG WINAPI DSA_GetSize(HDSA hdsa) +{ + TRACE("(%p)\n", hdsa); + + if (!hdsa) return 0; + + return sizeof(*hdsa) + hdsa->nMaxCount*hdsa->nItemSize; +}