Commit 876d7af9 authored by Alexandre Julliard's avatar Alexandre Julliard

kernel32: Move the psapi functions to kernelbase.

parent 7addca95
......@@ -47,77 +47,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(reg);
/***********************************************************************
* K32GetPerformanceInfo (KERNEL32.@)
*/
BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
{
SYSTEM_PERFORMANCE_INFORMATION perf;
SYSTEM_BASIC_INFORMATION basic;
SYSTEM_PROCESS_INFORMATION *process, *spi;
DWORD info_size;
NTSTATUS status;
TRACE( "(%p, %d)\n", info, size );
if (size < sizeof(*info))
{
SetLastError( ERROR_BAD_LENGTH );
return FALSE;
}
status = NtQuerySystemInformation( SystemPerformanceInformation, &perf, sizeof(perf), NULL );
if (status) goto err;
status = NtQuerySystemInformation( SystemBasicInformation, &basic, sizeof(basic), NULL );
if (status) goto err;
info->cb = sizeof(*info);
info->CommitTotal = perf.TotalCommittedPages;
info->CommitLimit = perf.TotalCommitLimit;
info->CommitPeak = perf.PeakCommitment;
info->PhysicalTotal = basic.MmNumberOfPhysicalPages;
info->PhysicalAvailable = perf.AvailablePages;
info->SystemCache = 0;
info->KernelTotal = perf.PagedPoolUsage + perf.NonPagedPoolUsage;
info->KernelPaged = perf.PagedPoolUsage;
info->KernelNonpaged = perf.NonPagedPoolUsage;
info->PageSize = basic.PageSize;
/* fields from SYSTEM_PROCESS_INFORMATION */
NtQuerySystemInformation( SystemProcessInformation, NULL, 0, &info_size );
for (;;)
{
process = HeapAlloc( GetProcessHeap(), 0, info_size );
if (!process)
{
SetLastError( ERROR_OUTOFMEMORY );
return FALSE;
}
status = NtQuerySystemInformation( SystemProcessInformation, process, info_size, &info_size );
if (!status) break;
HeapFree( GetProcessHeap(), 0, process );
if (status != STATUS_INFO_LENGTH_MISMATCH)
goto err;
}
info->HandleCount = info->ProcessCount = info->ThreadCount = 0;
spi = process;
for (;;)
{
info->ProcessCount++;
info->HandleCount += spi->HandleCount;
info->ThreadCount += spi->dwThreadCount;
if (spi->NextEntryOffset == 0) break;
spi = (SYSTEM_PROCESS_INFORMATION *)((char *)spi + spi->NextEntryOffset);
}
HeapFree( GetProcessHeap(), 0, process );
return TRUE;
err:
SetLastError( RtlNtStatusToDosError( status ) );
return FALSE;
}
/***********************************************************************
* GetActiveProcessorGroupCount (KERNEL32.@)
*/
WORD WINAPI GetActiveProcessorGroupCount(void)
......
......@@ -661,69 +661,3 @@ error: /* We get here if there was an error opening the file */
WARN("(%s): return = HFILE_ERROR error= %d\n", name,ofs->nErrCode );
return HFILE_ERROR;
}
/***********************************************************************
* K32EnumDeviceDrivers (KERNEL32.@)
*/
BOOL WINAPI K32EnumDeviceDrivers(void **image_base, DWORD cb, DWORD *needed)
{
FIXME("(%p, %d, %p): stub\n", image_base, cb, needed);
if (needed)
*needed = 0;
return TRUE;
}
/***********************************************************************
* K32GetDeviceDriverBaseNameA (KERNEL32.@)
*/
DWORD WINAPI K32GetDeviceDriverBaseNameA(void *image_base, LPSTR base_name, DWORD size)
{
FIXME("(%p, %p, %d): stub\n", image_base, base_name, size);
if (base_name && size)
base_name[0] = '\0';
return 0;
}
/***********************************************************************
* K32GetDeviceDriverBaseNameW (KERNEL32.@)
*/
DWORD WINAPI K32GetDeviceDriverBaseNameW(void *image_base, LPWSTR base_name, DWORD size)
{
FIXME("(%p, %p, %d): stub\n", image_base, base_name, size);
if (base_name && size)
base_name[0] = '\0';
return 0;
}
/***********************************************************************
* K32GetDeviceDriverFileNameA (KERNEL32.@)
*/
DWORD WINAPI K32GetDeviceDriverFileNameA(void *image_base, LPSTR file_name, DWORD size)
{
FIXME("(%p, %p, %d): stub\n", image_base, file_name, size);
if (file_name && size)
file_name[0] = '\0';
return 0;
}
/***********************************************************************
* K32GetDeviceDriverFileNameW (KERNEL32.@)
*/
DWORD WINAPI K32GetDeviceDriverFileNameW(void *image_base, LPWSTR file_name, DWORD size)
{
FIXME("(%p, %p, %d): stub\n", image_base, file_name, size);
if (file_name && size)
file_name[0] = '\0';
return 0;
}
......@@ -998,33 +998,33 @@
@ stdcall -import IsValidNLSVersion(long wstr ptr)
# @ stub IsValidUILanguage
@ stdcall -import IsWow64Process(ptr ptr)
@ stdcall K32EmptyWorkingSet(long)
@ stdcall K32EnumDeviceDrivers(ptr long ptr)
@ stdcall K32EnumPageFilesA(ptr ptr)
@ stdcall K32EnumPageFilesW(ptr ptr)
@ stdcall K32EnumProcessModules(long ptr long ptr)
@ stdcall K32EnumProcessModulesEx(long ptr long ptr long)
@ stdcall K32EnumProcesses(ptr long ptr)
@ stdcall K32GetDeviceDriverBaseNameA(ptr ptr long)
@ stdcall K32GetDeviceDriverBaseNameW(ptr ptr long)
@ stdcall K32GetDeviceDriverFileNameA(ptr ptr long)
@ stdcall K32GetDeviceDriverFileNameW(ptr ptr long)
@ stdcall K32GetMappedFileNameA(long ptr ptr long)
@ stdcall K32GetMappedFileNameW(long ptr ptr long)
@ stdcall K32GetModuleBaseNameA(long long ptr long)
@ stdcall K32GetModuleBaseNameW(long long ptr long)
@ stdcall K32GetModuleFileNameExA(long long ptr long)
@ stdcall K32GetModuleFileNameExW(long long ptr long)
@ stdcall K32GetModuleInformation(long long ptr long)
@ stdcall K32GetPerformanceInfo(ptr long)
@ stdcall K32GetProcessImageFileNameA(long ptr long)
@ stdcall K32GetProcessImageFileNameW(long ptr long)
@ stdcall K32GetProcessMemoryInfo(long ptr long)
@ stdcall K32GetWsChanges(long ptr long)
@ stdcall K32GetWsChangesEx(long ptr ptr)
@ stdcall K32InitializeProcessForWsWatch(long)
@ stdcall K32QueryWorkingSet(long ptr long)
@ stdcall K32QueryWorkingSetEx(long ptr long)
@ stdcall -import K32EmptyWorkingSet(long)
@ stdcall -import K32EnumDeviceDrivers(ptr long ptr)
@ stdcall -import K32EnumPageFilesA(ptr ptr)
@ stdcall -import K32EnumPageFilesW(ptr ptr)
@ stdcall -import K32EnumProcessModules(long ptr long ptr)
@ stdcall -import K32EnumProcessModulesEx(long ptr long ptr long)
@ stdcall -import K32EnumProcesses(ptr long ptr)
@ stdcall -import K32GetDeviceDriverBaseNameA(ptr ptr long)
@ stdcall -import K32GetDeviceDriverBaseNameW(ptr ptr long)
@ stdcall -import K32GetDeviceDriverFileNameA(ptr ptr long)
@ stdcall -import K32GetDeviceDriverFileNameW(ptr ptr long)
@ stdcall -import K32GetMappedFileNameA(long ptr ptr long)
@ stdcall -import K32GetMappedFileNameW(long ptr ptr long)
@ stdcall -import K32GetModuleBaseNameA(long long ptr long)
@ stdcall -import K32GetModuleBaseNameW(long long ptr long)
@ stdcall -import K32GetModuleFileNameExA(long long ptr long)
@ stdcall -import K32GetModuleFileNameExW(long long ptr long)
@ stdcall -import K32GetModuleInformation(long long ptr long)
@ stdcall -import K32GetPerformanceInfo(ptr long)
@ stdcall -import K32GetProcessImageFileNameA(long ptr long)
@ stdcall -import K32GetProcessImageFileNameW(long ptr long)
@ stdcall -import K32GetProcessMemoryInfo(long ptr long)
@ stdcall -import K32GetWsChanges(long ptr long)
@ stdcall -import K32GetWsChangesEx(long ptr ptr)
@ stdcall -import K32InitializeProcessForWsWatch(long)
@ stdcall -import K32QueryWorkingSet(long ptr long)
@ stdcall -import K32QueryWorkingSetEx(long ptr long)
@ stdcall -i386 -private -norelay K32Thk1632Epilog() krnl386.exe16.K32Thk1632Epilog
@ stdcall -i386 -private -norelay K32Thk1632Prolog() krnl386.exe16.K32Thk1632Prolog
@ stdcall -import LCIDToLocaleName(long ptr long long)
......@@ -1165,8 +1165,8 @@
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
@ stdcall QueryDosDeviceA(str ptr long)
@ stdcall -import QueryDosDeviceW(wstr ptr long)
@ stdcall QueryFullProcessImageNameA(ptr long ptr ptr)
@ stdcall QueryFullProcessImageNameW(ptr long ptr ptr)
@ stdcall -import QueryFullProcessImageNameA(ptr long ptr ptr)
@ stdcall -import QueryFullProcessImageNameW(ptr long ptr ptr)
# @ stub QueryIdleProcessorCycleTime
# @ stub QueryIdleProcessorCycleTimeEx
@ stdcall QueryInformationJobObject(long long ptr long ptr)
......
......@@ -519,15 +519,6 @@ BOOL WINAPI SetProcessWorkingSetSize(HANDLE process, SIZE_T minset, SIZE_T maxse
}
/***********************************************************************
* K32EmptyWorkingSet (KERNEL32.@)
*/
BOOL WINAPI K32EmptyWorkingSet(HANDLE hProcess)
{
return SetProcessWorkingSetSize(hProcess, (SIZE_T)-1, (SIZE_T)-1);
}
/***********************************************************************
* GetProcessWorkingSetSize (KERNEL32.@)
*/
BOOL WINAPI GetProcessWorkingSetSize(HANDLE process, SIZE_T *minset, SIZE_T *maxset)
......@@ -544,221 +535,6 @@ BOOL WINAPI GetProcessIoCounters(HANDLE hProcess, PIO_COUNTERS ioc)
return set_ntstatus( NtQueryInformationProcess(hProcess, ProcessIoCounters, ioc, sizeof(*ioc), NULL ));
}
/******************************************************************
* QueryFullProcessImageNameA (KERNEL32.@)
*/
BOOL WINAPI QueryFullProcessImageNameA(HANDLE hProcess, DWORD dwFlags, LPSTR lpExeName, PDWORD pdwSize)
{
BOOL retval;
DWORD pdwSizeW = *pdwSize;
LPWSTR lpExeNameW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *pdwSize * sizeof(WCHAR));
retval = QueryFullProcessImageNameW(hProcess, dwFlags, lpExeNameW, &pdwSizeW);
if(retval)
retval = (0 != WideCharToMultiByte(CP_ACP, 0, lpExeNameW, -1,
lpExeName, *pdwSize, NULL, NULL));
if(retval)
*pdwSize = strlen(lpExeName);
HeapFree(GetProcessHeap(), 0, lpExeNameW);
return retval;
}
/******************************************************************
* QueryFullProcessImageNameW (KERNEL32.@)
*/
BOOL WINAPI QueryFullProcessImageNameW(HANDLE hProcess, DWORD dwFlags, LPWSTR lpExeName, PDWORD pdwSize)
{
BYTE buffer[sizeof(UNICODE_STRING) + MAX_PATH*sizeof(WCHAR)]; /* this buffer should be enough */
UNICODE_STRING *dynamic_buffer = NULL;
UNICODE_STRING *result = NULL;
NTSTATUS status;
DWORD needed;
/* FIXME: On Windows, ProcessImageFileName return an NT path. In Wine it
* is a DOS path and we depend on this. */
status = NtQueryInformationProcess(hProcess, ProcessImageFileName, buffer,
sizeof(buffer) - sizeof(WCHAR), &needed);
if (status == STATUS_INFO_LENGTH_MISMATCH)
{
dynamic_buffer = HeapAlloc(GetProcessHeap(), 0, needed + sizeof(WCHAR));
status = NtQueryInformationProcess(hProcess, ProcessImageFileName, (LPBYTE)dynamic_buffer, needed, &needed);
result = dynamic_buffer;
}
else
result = (PUNICODE_STRING)buffer;
if (status) goto cleanup;
if (dwFlags & PROCESS_NAME_NATIVE)
{
WCHAR drive[3];
WCHAR device[1024];
DWORD ntlen, devlen;
if (result->Buffer[1] != ':' || result->Buffer[0] < 'A' || result->Buffer[0] > 'Z')
{
/* We cannot convert it to an NT device path so fail */
status = STATUS_NO_SUCH_DEVICE;
goto cleanup;
}
/* Find this drive's NT device path */
drive[0] = result->Buffer[0];
drive[1] = ':';
drive[2] = 0;
if (!QueryDosDeviceW(drive, device, ARRAY_SIZE(device)))
{
status = STATUS_NO_SUCH_DEVICE;
goto cleanup;
}
devlen = lstrlenW(device);
ntlen = devlen + (result->Length/sizeof(WCHAR) - 2);
if (ntlen + 1 > *pdwSize)
{
status = STATUS_BUFFER_TOO_SMALL;
goto cleanup;
}
*pdwSize = ntlen;
memcpy(lpExeName, device, devlen * sizeof(*device));
memcpy(lpExeName + devlen, result->Buffer + 2, result->Length - 2 * sizeof(WCHAR));
lpExeName[*pdwSize] = 0;
TRACE("NT path: %s\n", debugstr_w(lpExeName));
}
else
{
if (result->Length/sizeof(WCHAR) + 1 > *pdwSize)
{
status = STATUS_BUFFER_TOO_SMALL;
goto cleanup;
}
*pdwSize = result->Length/sizeof(WCHAR);
memcpy( lpExeName, result->Buffer, result->Length );
lpExeName[*pdwSize] = 0;
}
cleanup:
HeapFree(GetProcessHeap(), 0, dynamic_buffer);
return set_ntstatus( status );
}
/***********************************************************************
* K32GetProcessImageFileNameA (KERNEL32.@)
*/
DWORD WINAPI K32GetProcessImageFileNameA( HANDLE process, LPSTR file, DWORD size )
{
return QueryFullProcessImageNameA(process, PROCESS_NAME_NATIVE, file, &size) ? size : 0;
}
/***********************************************************************
* K32GetProcessImageFileNameW (KERNEL32.@)
*/
DWORD WINAPI K32GetProcessImageFileNameW( HANDLE process, LPWSTR file, DWORD size )
{
return QueryFullProcessImageNameW(process, PROCESS_NAME_NATIVE, file, &size) ? size : 0;
}
/***********************************************************************
* K32EnumProcesses (KERNEL32.@)
*/
BOOL WINAPI K32EnumProcesses(DWORD *lpdwProcessIDs, DWORD cb, DWORD *lpcbUsed)
{
SYSTEM_PROCESS_INFORMATION *spi;
ULONG size = 0x4000;
void *buf = NULL;
NTSTATUS status;
do {
size *= 2;
HeapFree(GetProcessHeap(), 0, buf);
buf = HeapAlloc(GetProcessHeap(), 0, size);
if (!buf)
return FALSE;
status = NtQuerySystemInformation(SystemProcessInformation, buf, size, NULL);
} while(status == STATUS_INFO_LENGTH_MISMATCH);
if (!set_ntstatus( status ))
{
HeapFree(GetProcessHeap(), 0, buf);
return FALSE;
}
spi = buf;
for (*lpcbUsed = 0; cb >= sizeof(DWORD); cb -= sizeof(DWORD))
{
*lpdwProcessIDs++ = HandleToUlong(spi->UniqueProcessId);
*lpcbUsed += sizeof(DWORD);
if (spi->NextEntryOffset == 0)
break;
spi = (SYSTEM_PROCESS_INFORMATION *)(((PCHAR)spi) + spi->NextEntryOffset);
}
HeapFree(GetProcessHeap(), 0, buf);
return TRUE;
}
/***********************************************************************
* K32QueryWorkingSet (KERNEL32.@)
*/
BOOL WINAPI K32QueryWorkingSet( HANDLE process, LPVOID buffer, DWORD size )
{
TRACE( "(%p, %p, %d)\n", process, buffer, size );
return set_ntstatus( NtQueryVirtualMemory( process, NULL, MemoryWorkingSetList, buffer, size, NULL ));
}
/***********************************************************************
* K32QueryWorkingSetEx (KERNEL32.@)
*/
BOOL WINAPI K32QueryWorkingSetEx( HANDLE process, LPVOID buffer, DWORD size )
{
TRACE( "(%p, %p, %d)\n", process, buffer, size );
return set_ntstatus( NtQueryVirtualMemory( process, NULL, MemoryWorkingSetExInformation, buffer, size, NULL ));
}
/***********************************************************************
* K32GetProcessMemoryInfo (KERNEL32.@)
*
* Retrieve memory usage information for a given process
*
*/
BOOL WINAPI K32GetProcessMemoryInfo(HANDLE process,
PPROCESS_MEMORY_COUNTERS pmc, DWORD cb)
{
VM_COUNTERS vmc;
if (cb < sizeof(PROCESS_MEMORY_COUNTERS))
{
SetLastError(ERROR_INSUFFICIENT_BUFFER);
return FALSE;
}
if (!set_ntstatus( NtQueryInformationProcess( process, ProcessVmCounters, &vmc, sizeof(vmc), NULL )))
return FALSE;
pmc->cb = sizeof(PROCESS_MEMORY_COUNTERS);
pmc->PageFaultCount = vmc.PageFaultCount;
pmc->PeakWorkingSetSize = vmc.PeakWorkingSetSize;
pmc->WorkingSetSize = vmc.WorkingSetSize;
pmc->QuotaPeakPagedPoolUsage = vmc.QuotaPeakPagedPoolUsage;
pmc->QuotaPagedPoolUsage = vmc.QuotaPagedPoolUsage;
pmc->QuotaPeakNonPagedPoolUsage = vmc.QuotaPeakNonPagedPoolUsage;
pmc->QuotaNonPagedPoolUsage = vmc.QuotaNonPagedPoolUsage;
pmc->PagefileUsage = vmc.PagefileUsage;
pmc->PeakPagefileUsage = vmc.PeakPagefileUsage;
return TRUE;
}
/***********************************************************************
* RegisterServiceProcess (KERNEL32.@)
*
......
......@@ -44,8 +44,7 @@
#include "kernel_private.h"
WINE_DECLARE_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(file);
WINE_DEFAULT_DEBUG_CHANNEL(seh);
static LONG WINAPI badptr_handler( EXCEPTION_POINTERS *eptr )
......@@ -98,7 +97,7 @@ BOOL WINAPI IsBadReadPtr( LPCVOID ptr, UINT_PTR size )
}
__EXCEPT( badptr_handler )
{
TRACE_(seh)("%p caused page fault during read\n", ptr);
TRACE("%p caused page fault during read\n", ptr);
return TRUE;
}
__ENDTRY
......@@ -139,7 +138,7 @@ BOOL WINAPI IsBadWritePtr( LPVOID ptr, UINT_PTR size )
}
__EXCEPT( badptr_handler )
{
TRACE_(seh)("%p caused page fault during write\n", ptr);
TRACE("%p caused page fault during write\n", ptr);
return TRUE;
}
__ENDTRY
......@@ -227,7 +226,7 @@ BOOL WINAPI IsBadStringPtrA( LPCSTR str, UINT_PTR max )
}
__EXCEPT( badptr_handler )
{
TRACE_(seh)("%p caused page fault during read\n", str);
TRACE("%p caused page fault during read\n", str);
return TRUE;
}
__ENDTRY
......@@ -251,93 +250,9 @@ BOOL WINAPI IsBadStringPtrW( LPCWSTR str, UINT_PTR max )
}
__EXCEPT( badptr_handler )
{
TRACE_(seh)("%p caused page fault during read\n", str);
TRACE("%p caused page fault during read\n", str);
return TRUE;
}
__ENDTRY
return FALSE;
}
/***********************************************************************
* K32GetMappedFileNameA (KERNEL32.@)
*/
DWORD WINAPI K32GetMappedFileNameA(HANDLE process, LPVOID lpv, LPSTR file_name, DWORD size)
{
FIXME_(file)("(%p, %p, %p, %d): stub\n", process, lpv, file_name, size);
if (file_name && size)
file_name[0] = '\0';
return 0;
}
/***********************************************************************
* K32GetMappedFileNameW (KERNEL32.@)
*/
DWORD WINAPI K32GetMappedFileNameW(HANDLE process, LPVOID lpv, LPWSTR file_name, DWORD size)
{
FIXME_(file)("(%p, %p, %p, %d): stub\n", process, lpv, file_name, size);
if (file_name && size)
file_name[0] = '\0';
return 0;
}
/***********************************************************************
* K32EnumPageFilesA (KERNEL32.@)
*/
BOOL WINAPI K32EnumPageFilesA( PENUM_PAGE_FILE_CALLBACKA callback, LPVOID context )
{
FIXME_(file)("(%p, %p) stub\n", callback, context );
return FALSE;
}
/***********************************************************************
* K32EnumPageFilesW (KERNEL32.@)
*/
BOOL WINAPI K32EnumPageFilesW( PENUM_PAGE_FILE_CALLBACKW callback, LPVOID context )
{
FIXME_(file)("(%p, %p) stub\n", callback, context );
return FALSE;
}
/***********************************************************************
* K32GetWsChanges (KERNEL32.@)
*/
BOOL WINAPI K32GetWsChanges(HANDLE process, PPSAPI_WS_WATCH_INFORMATION watchinfo, DWORD size)
{
NTSTATUS status;
TRACE_(seh)("(%p, %p, %d)\n", process, watchinfo, size);
status = NtQueryInformationProcess( process, ProcessWorkingSetWatch, watchinfo, size, NULL );
if (status)
{
SetLastError( RtlNtStatusToDosError( status ) );
return FALSE;
}
return TRUE;
}
/***********************************************************************
* K32GetWsChangesEx (KERNEL32.@)
*/
BOOL WINAPI K32GetWsChangesEx(HANDLE process, PSAPI_WS_WATCH_INFORMATION_EX *watchinfoex, DWORD *size)
{
FIXME_(seh)("(%p, %p, %p)\n", process, watchinfoex, size);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* K32InitializeProcessForWsWatch (KERNEL32.@)
*/
BOOL WINAPI K32InitializeProcessForWsWatch(HANDLE process)
{
FIXME_(seh)("(process=%p): stub\n", process);
return TRUE;
}
......@@ -885,33 +885,33 @@
@ stdcall IsWellKnownSid(ptr long)
@ stdcall IsWow64Process(ptr ptr)
# @ stub IsWow64Process2
@ stdcall K32EmptyWorkingSet(long) kernel32.K32EmptyWorkingSet
@ stdcall K32EnumDeviceDrivers(ptr long ptr) kernel32.K32EnumDeviceDrivers
@ stdcall K32EnumPageFilesA(ptr ptr) kernel32.K32EnumPageFilesA
@ stdcall K32EnumPageFilesW(ptr ptr) kernel32.K32EnumPageFilesW
@ stdcall K32EnumProcessModules(long ptr long ptr) kernel32.K32EnumProcessModules
@ stdcall K32EnumProcessModulesEx(long ptr long ptr long) kernel32.K32EnumProcessModulesEx
@ stdcall K32EnumProcesses(ptr long ptr) kernel32.K32EnumProcesses
@ stdcall K32GetDeviceDriverBaseNameA(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameA
@ stdcall K32GetDeviceDriverBaseNameW(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameW
@ stdcall K32GetDeviceDriverFileNameA(ptr ptr long) kernel32.K32GetDeviceDriverFileNameA
@ stdcall K32GetDeviceDriverFileNameW(ptr ptr long) kernel32.K32GetDeviceDriverFileNameW
@ stdcall K32GetMappedFileNameA(long ptr ptr long) kernel32.K32GetMappedFileNameA
@ stdcall K32GetMappedFileNameW(long ptr ptr long) kernel32.K32GetMappedFileNameW
@ stdcall K32GetModuleBaseNameA(long long ptr long) kernel32.K32GetModuleBaseNameA
@ stdcall K32GetModuleBaseNameW(long long ptr long) kernel32.K32GetModuleBaseNameW
@ stdcall K32GetModuleFileNameExA(long long ptr long) kernel32.K32GetModuleFileNameExA
@ stdcall K32GetModuleFileNameExW(long long ptr long) kernel32.K32GetModuleFileNameExW
@ stdcall K32GetModuleInformation(long long ptr long) kernel32.K32GetModuleInformation
@ stdcall K32GetPerformanceInfo(ptr long) kernel32.K32GetPerformanceInfo
@ stdcall K32GetProcessImageFileNameA(long ptr long) kernel32.K32GetProcessImageFileNameA
@ stdcall K32GetProcessImageFileNameW(long ptr long) kernel32.K32GetProcessImageFileNameW
@ stdcall K32GetProcessMemoryInfo(long ptr long) kernel32.K32GetProcessMemoryInfo
@ stdcall K32GetWsChanges(long ptr long) kernel32.K32GetWsChanges
@ stdcall K32GetWsChangesEx(long ptr ptr) kernel32.K32GetWsChangesEx
@ stdcall K32InitializeProcessForWsWatch(long) kernel32.K32InitializeProcessForWsWatch
@ stdcall K32QueryWorkingSet(long ptr long) kernel32.K32QueryWorkingSet
@ stdcall K32QueryWorkingSetEx(long ptr long) kernel32.K32QueryWorkingSetEx
@ stdcall K32EmptyWorkingSet(long)
@ stdcall K32EnumDeviceDrivers(ptr long ptr)
@ stdcall K32EnumPageFilesA(ptr ptr)
@ stdcall K32EnumPageFilesW(ptr ptr)
@ stdcall K32EnumProcessModules(long ptr long ptr)
@ stdcall K32EnumProcessModulesEx(long ptr long ptr long)
@ stdcall K32EnumProcesses(ptr long ptr)
@ stdcall K32GetDeviceDriverBaseNameA(ptr ptr long)
@ stdcall K32GetDeviceDriverBaseNameW(ptr ptr long)
@ stdcall K32GetDeviceDriverFileNameA(ptr ptr long)
@ stdcall K32GetDeviceDriverFileNameW(ptr ptr long)
@ stdcall K32GetMappedFileNameA(long ptr ptr long)
@ stdcall K32GetMappedFileNameW(long ptr ptr long)
@ stdcall K32GetModuleBaseNameA(long long ptr long)
@ stdcall K32GetModuleBaseNameW(long long ptr long)
@ stdcall K32GetModuleFileNameExA(long long ptr long)
@ stdcall K32GetModuleFileNameExW(long long ptr long)
@ stdcall K32GetModuleInformation(long long ptr long)
@ stdcall K32GetPerformanceInfo(ptr long)
@ stdcall K32GetProcessImageFileNameA(long ptr long)
@ stdcall K32GetProcessImageFileNameW(long ptr long)
@ stdcall K32GetProcessMemoryInfo(long ptr long)
@ stdcall K32GetWsChanges(long ptr long)
@ stdcall K32GetWsChangesEx(long ptr ptr)
@ stdcall K32InitializeProcessForWsWatch(long)
@ stdcall K32QueryWorkingSet(long ptr long)
@ stdcall K32QueryWorkingSetEx(long ptr long)
@ stub KernelBaseGetGlobalData
@ stdcall LCIDToLocaleName(long ptr long long)
@ stdcall LCMapStringA(long long str long ptr long)
......@@ -1195,8 +1195,8 @@
@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr)
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
@ stdcall QueryDosDeviceW(wstr ptr long)
@ stdcall QueryFullProcessImageNameA(ptr long ptr ptr) kernel32.QueryFullProcessImageNameA
@ stdcall QueryFullProcessImageNameW(ptr long ptr ptr) kernel32.QueryFullProcessImageNameW
@ stdcall QueryFullProcessImageNameA(ptr long ptr ptr)
@ stdcall QueryFullProcessImageNameW(ptr long ptr ptr)
# @ stub QueryIdleProcessorCycleTime
# @ stub QueryIdleProcessorCycleTimeEx
# @ stub QueryInterruptTime
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment