advapi32: Add initial Perf* stubs.
Signed-off-by: Austin English <austinenglish@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a6a477dd58
commit
adc8d95e02
|
@ -16,6 +16,7 @@ C_SRCS = \
|
||||||
crypt_sha.c \
|
crypt_sha.c \
|
||||||
eventlog.c \
|
eventlog.c \
|
||||||
lsa.c \
|
lsa.c \
|
||||||
|
perf.c \
|
||||||
registry.c \
|
registry.c \
|
||||||
security.c \
|
security.c \
|
||||||
service.c \
|
service.c \
|
||||||
|
|
|
@ -553,11 +553,11 @@
|
||||||
# @ stub OperationStart
|
# @ stub OperationStart
|
||||||
# @ stub PerfAddCounters
|
# @ stub PerfAddCounters
|
||||||
# @ stub PerfCloseQueryHandle
|
# @ stub PerfCloseQueryHandle
|
||||||
# @ stub PerfCreateInstance
|
@ stdcall PerfCreateInstance(long ptr wstr long)
|
||||||
# @ stub PerfDecrementULongCounterValue
|
# @ stub PerfDecrementULongCounterValue
|
||||||
# @ stub PerfDecrementULongLongCounterValue
|
# @ stub PerfDecrementULongLongCounterValue
|
||||||
# @ stub PerfDeleteCounters
|
# @ stub PerfDeleteCounters
|
||||||
# @ stub PerfDeleteInstance
|
@ stdcall PerfDeleteInstance(long ptr)
|
||||||
# @ stub PerfEnumerateCounterSet
|
# @ stub PerfEnumerateCounterSet
|
||||||
# @ stub PerfEnumerateCounterSetInstances
|
# @ stub PerfEnumerateCounterSetInstances
|
||||||
# @ stub PerfIncrementULongCounterValue
|
# @ stub PerfIncrementULongCounterValue
|
||||||
|
@ -573,13 +573,13 @@
|
||||||
# @ stub PerfRegQueryInfoKey
|
# @ stub PerfRegQueryInfoKey
|
||||||
# @ stub PerfRegQueryValue
|
# @ stub PerfRegQueryValue
|
||||||
# @ stub PerfRegSetValue
|
# @ stub PerfRegSetValue
|
||||||
# @ stub PerfSetCounterRefValue
|
@ stdcall PerfSetCounterRefValue(long ptr long ptr)
|
||||||
# @ stub PerfSetCounterSetInfo
|
@ stdcall PerfSetCounterSetInfo(long ptr long)
|
||||||
# @ stub PerfSetULongCounterValue
|
# @ stub PerfSetULongCounterValue
|
||||||
# @ stub PerfSetULongLongCounterValue
|
# @ stub PerfSetULongLongCounterValue
|
||||||
# @ stub PerfStartProvider
|
@ stdcall PerfStartProvider(ptr ptr ptr)
|
||||||
# @ stub PerfStartProviderEx
|
@ stdcall PerfStartProviderEx(ptr ptr ptr)
|
||||||
# @ stub PerfStopProvider
|
@ stdcall PerfStopProvider(long)
|
||||||
@ stdcall PrivilegeCheck(ptr ptr ptr)
|
@ stdcall PrivilegeCheck(ptr ptr ptr)
|
||||||
@ stdcall PrivilegedServiceAuditAlarmA(str str long ptr long)
|
@ stdcall PrivilegedServiceAuditAlarmA(str str long ptr long)
|
||||||
@ stdcall PrivilegedServiceAuditAlarmW(wstr wstr long ptr long)
|
@ stdcall PrivilegedServiceAuditAlarmW(wstr wstr long ptr long)
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
/*
|
||||||
|
* advapi32 perf functions
|
||||||
|
*
|
||||||
|
* Copyright 2017 Austin English
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "windef.h"
|
||||||
|
#include "winbase.h"
|
||||||
|
#include "perflib.h"
|
||||||
|
|
||||||
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(advapi);
|
||||||
|
|
||||||
|
PPERF_COUNTERSET_INSTANCE WINAPI PerfCreateInstance(HANDLE handle, LPCGUID guid, const WCHAR *name, ULONG id)
|
||||||
|
{
|
||||||
|
FIXME("%p %s %s %u: stub\n", handle, debugstr_guid(guid), debugstr_w(name), id);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfDeleteInstance(HANDLE provider, PPERF_COUNTERSET_INSTANCE block)
|
||||||
|
{
|
||||||
|
FIXME("%p %p: stub\n", provider, block);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfSetCounterSetInfo(HANDLE handle, PPERF_COUNTERSET_INFO template, ULONG size)
|
||||||
|
{
|
||||||
|
FIXME("%p %p %u: stub\n", handle, template, size);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfSetCounterRefValue(HANDLE provider, PPERF_COUNTERSET_INSTANCE instance, ULONG counterid, void *address)
|
||||||
|
{
|
||||||
|
FIXME("%p %p %u %p: stub\n", provider, instance, counterid, address);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfStartProvider(GUID *guid, PERFLIBREQUEST callback, HANDLE *provider)
|
||||||
|
{
|
||||||
|
FIXME("%s %p %p: stub\n", debugstr_guid(guid), callback, provider);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfStartProviderEx(GUID *guid, PPERF_PROVIDER_CONTEXT context, HANDLE *provider)
|
||||||
|
{
|
||||||
|
FIXME("%s %p %p: stub\n", debugstr_guid(guid), context, provider);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI PerfStopProvider(HANDLE handle)
|
||||||
|
{
|
||||||
|
FIXME("%p: stub\n", handle);
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
|
@ -1144,20 +1144,20 @@
|
||||||
@ stdcall PeekConsoleInputA(ptr ptr long ptr) kernel32.PeekConsoleInputA
|
@ stdcall PeekConsoleInputA(ptr ptr long ptr) kernel32.PeekConsoleInputA
|
||||||
@ stdcall PeekConsoleInputW(ptr ptr long ptr) kernel32.PeekConsoleInputW
|
@ stdcall PeekConsoleInputW(ptr ptr long ptr) kernel32.PeekConsoleInputW
|
||||||
@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr) kernel32.PeekNamedPipe
|
@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr) kernel32.PeekNamedPipe
|
||||||
# @ stub PerfCreateInstance
|
@ stdcall PerfCreateInstance(long ptr wstr long) advapi32.PerfCreateInstance
|
||||||
# @ stub PerfDecrementULongCounterValue
|
# @ stub PerfDecrementULongCounterValue
|
||||||
# @ stub PerfDecrementULongLongCounterValue
|
# @ stub PerfDecrementULongLongCounterValue
|
||||||
# @ stub PerfDeleteInstance
|
@ stdcall PerfDeleteInstance(long ptr) advapi32.PerfDeleteInstance
|
||||||
# @ stub PerfIncrementULongCounterValue
|
# @ stub PerfIncrementULongCounterValue
|
||||||
# @ stub PerfIncrementULongLongCounterValue
|
# @ stub PerfIncrementULongLongCounterValue
|
||||||
# @ stub PerfQueryInstance
|
# @ stub PerfQueryInstance
|
||||||
# @ stub PerfSetCounterRefValue
|
@ stdcall PerfSetCounterRefValue(long ptr long ptr) advapi32.PerfSetCounterRefValue
|
||||||
# @ stub PerfSetCounterSetInfo
|
@ stdcall PerfSetCounterSetInfo(long ptr long) advapi32.PerfSetCounterSetInfo
|
||||||
# @ stub PerfSetULongCounterValue
|
# @ stub PerfSetULongCounterValue
|
||||||
# @ stub PerfSetULongLongCounterValue
|
# @ stub PerfSetULongLongCounterValue
|
||||||
# @ stub PerfStartProvider
|
@ stdcall PerfStartProvider(ptr ptr ptr) advapi32.PerfStartProvider
|
||||||
# @ stub PerfStartProviderEx
|
@ stdcall PerfStartProviderEx(ptr ptr ptr) advapi32.PerfStartProviderEx
|
||||||
# @ stub PerfStopProvider
|
@ stdcall PerfStopProvider(long) advapi32.PerfStopProvider
|
||||||
# @ stub PoolPerAppKeyStateInternal
|
# @ stub PoolPerAppKeyStateInternal
|
||||||
@ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus
|
@ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus
|
||||||
# @ stub PrefetchVirtualMemory
|
# @ stub PrefetchVirtualMemory
|
||||||
|
|
|
@ -568,6 +568,7 @@ HEADER_SRCS = \
|
||||||
patchapi.h \
|
patchapi.h \
|
||||||
pdh.h \
|
pdh.h \
|
||||||
pdhmsg.h \
|
pdhmsg.h \
|
||||||
|
perflib.h \
|
||||||
physicalmonitorenumerationapi.h \
|
physicalmonitorenumerationapi.h \
|
||||||
pktdef.h \
|
pktdef.h \
|
||||||
poppack.h \
|
poppack.h \
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2017 Austin English
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PERFLIB_H_
|
||||||
|
#define _PERFLIB_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef LPVOID (CDECL * PERF_MEM_ALLOC)(SIZE_T,LPVOID);
|
||||||
|
typedef void (CDECL * PERF_MEM_FREE)(LPVOID,LPVOID);
|
||||||
|
typedef ULONG (WINAPI * PERFLIBREQUEST)(ULONG,PVOID,ULONG);
|
||||||
|
|
||||||
|
typedef struct _PERF_COUNTERSET_INFO {
|
||||||
|
GUID CounterSetGuid;
|
||||||
|
GUID ProviderGuid;
|
||||||
|
ULONG NumCounters;
|
||||||
|
ULONG InstanceType;
|
||||||
|
} PERF_COUNTERSET_INFO, * PPERF_COUNTERSET_INFO;
|
||||||
|
|
||||||
|
typedef struct _PERF_COUNTERSET_INSTANCE {
|
||||||
|
GUID CounterSetGuid;
|
||||||
|
ULONG dwSize;
|
||||||
|
ULONG InstanceId;
|
||||||
|
ULONG InstanceNameOffset;
|
||||||
|
ULONG InstanceNameSize;
|
||||||
|
} PERF_COUNTERSET_INSTANCE, * PPERF_COUNTERSET_INSTANCE;
|
||||||
|
|
||||||
|
typedef struct _PROVIDER_CONTEXT {
|
||||||
|
DWORD ContextSize;
|
||||||
|
DWORD Reserved;
|
||||||
|
PERFLIBREQUEST ControlCallback;
|
||||||
|
PERF_MEM_ALLOC MemAllocRoutine;
|
||||||
|
PERF_MEM_FREE MemFreeRoutine;
|
||||||
|
LPVOID pMemContext;
|
||||||
|
} PERF_PROVIDER_CONTEXT, * PPERF_PROVIDER_CONTEXT;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _PERFLIB_H_ */
|
Loading…
Reference in New Issue