From: Louis Lenders xerox.xerox2000x@gmail.com
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=58285 --- dlls/pdh/pdh.spec | 4 ++-- dlls/pdh/pdh_main.c | 18 ++++++++++++++++++ include/pdh.h | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/dlls/pdh/pdh.spec b/dlls/pdh/pdh.spec index dfd6f36c74b..1e6289c5584 100644 --- a/dlls/pdh/pdh.spec +++ b/dlls/pdh/pdh.spec @@ -65,8 +65,8 @@ @ stdcall PdhGetLogFileTypeA(str ptr) @ stdcall PdhGetLogFileTypeW(wstr ptr) @ stub PdhGetLogSetGUID -@ stub PdhGetRawCounterArrayA -@ stub PdhGetRawCounterArrayW +@ stdcall PdhGetRawCounterArrayA(ptr ptr ptr ptr) +@ stdcall PdhGetRawCounterArrayW(ptr ptr ptr ptr) @ stdcall PdhGetRawCounterValue(ptr ptr ptr) @ stub PdhIsRealTimeQuery @ stub PdhListLogFileHeaderA diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c index 079048fba58..2cd7afeed58 100644 --- a/dlls/pdh/pdh_main.c +++ b/dlls/pdh/pdh_main.c @@ -1309,3 +1309,21 @@ PDH_STATUS WINAPI PdhEnumObjectsW(const WCHAR *source, const WCHAR *machine, WCH FIXME("%s %s %p %p %lu %d: stub\n", debugstr_w(source),debugstr_w(machine), list, size, detail, refresh); return PDH_NOT_IMPLEMENTED; } + +/*********************************************************************** + * PdhGetRawCounterArrayA (PDH.@) + */ +PDH_STATUS WINAPI PdhGetRawCounterArrayA(PDH_HCOUNTER counter, DWORD *size, DWORD *count, PDH_RAW_COUNTER_ITEM_A *buffer) +{ + FIXME("%p %p %p %p: stub\n", counter, size, count, buffer); + return PDH_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * PdhGetRawCounterArrayW (PDH.@) + */ +PDH_STATUS WINAPI PdhGetRawCounterArrayW(PDH_HCOUNTER counter, DWORD *size, DWORD *count, PDH_RAW_COUNTER_ITEM_W *buffer) +{ + FIXME("%p %p %p %p: stub\n", counter, size, count, buffer); + return PDH_NOT_IMPLEMENTED; +} diff --git a/include/pdh.h b/include/pdh.h index 3d688bd8ded..5ef76b07abe 100644 --- a/include/pdh.h +++ b/include/pdh.h @@ -189,6 +189,18 @@ typedef struct _PDH_COUNTER_INFO_W DWORD DataBuffer[1]; } PDH_COUNTER_INFO_W, *PPDH_COUNTER_INFO_W;
+typedef struct _PDH_RAW_COUNTER_ITEM_A +{ + LPSTR szName; + PDH_RAW_COUNTER RawValue; +} PDH_RAW_COUNTER_ITEM_A,*PPDH_RAW_COUNTER_ITEM_A; + +typedef struct _PDH_RAW_COUNTER_ITEM_W +{ + LPWSTR szName; + PDH_RAW_COUNTER RawValue; +} PDH_RAW_COUNTER_ITEM_W,*PPDH_RAW_COUNTER_ITEM_W; + DECL_PDH_TYPE_AW(PDH_COUNTER_INFO) DECL_PDH_TYPE_AW(PPDH_COUNTER_INFO)
@@ -219,6 +231,9 @@ PDH_STATUS WINAPI PdhGetCounterInfoW(PDH_HCOUNTER, BOOLEAN, LPDWORD, PPDH_COUNTE PDH_STATUS WINAPI PdhGetCounterTimeBase(PDH_HCOUNTER, LONGLONG *); PDH_STATUS WINAPI PdhGetDllVersion(LPDWORD); PDH_STATUS WINAPI PdhGetFormattedCounterValue(PDH_HCOUNTER, DWORD, LPDWORD, PPDH_FMT_COUNTERVALUE); +PDH_STATUS WINAPI PdhGetRawCounterArrayA(PDH_HCOUNTER, LPDWORD, LPDWORD, PPDH_RAW_COUNTER_ITEM_A); +PDH_STATUS WINAPI PdhGetRawCounterArrayW(PDH_HCOUNTER, LPDWORD, LPDWORD, PPDH_RAW_COUNTER_ITEM_W); +#define PdhGetRawCounterArray WINELIB_NAME_AW(PdhGetRawCounterArray) PDH_STATUS WINAPI PdhGetRawCounterValue(PDH_HCOUNTER, LPDWORD, PPDH_RAW_COUNTER); PDH_STATUS WINAPI PdhLookupPerfIndexByNameA(LPCSTR, LPCSTR, LPDWORD); PDH_STATUS WINAPI PdhLookupPerfIndexByNameW(LPCWSTR, LPCWSTR, LPDWORD);