From: Hugh McMaster hugh.mcmaster@outlook.com
--- dlls/kernel32/tests/process.c | 66 +++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 30 deletions(-)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c index 74d61bdfa30..6f3f2f05ff2 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c @@ -253,37 +253,43 @@ static BOOL init(void) hkernel32 = GetModuleHandleA("kernel32"); hntdll = GetModuleHandleA("ntdll.dll");
- pGetFileInformationByHandleEx = (void *)GetProcAddress(hkernel32, "GetFileInformationByHandleEx"); - pGetNativeSystemInfo = (void *) GetProcAddress(hkernel32, "GetNativeSystemInfo"); - pGetSystemRegistryQuota = (void *) GetProcAddress(hkernel32, "GetSystemRegistryQuota"); - pIsWow64Process = (void *) GetProcAddress(hkernel32, "IsWow64Process"); - pIsWow64Process2 = (void *) GetProcAddress(hkernel32, "IsWow64Process2"); - pQueryFullProcessImageNameA = (void *) GetProcAddress(hkernel32, "QueryFullProcessImageNameA"); - pQueryFullProcessImageNameW = (void *) GetProcAddress(hkernel32, "QueryFullProcessImageNameW"); - pK32GetProcessImageFileNameA = (void *) GetProcAddress(hkernel32, "K32GetProcessImageFileNameA"); - pCreateJobObjectW = (void *)GetProcAddress(hkernel32, "CreateJobObjectW"); - pOpenJobObjectA = (void *)GetProcAddress(hkernel32, "OpenJobObjectA"); - pAssignProcessToJobObject = (void *)GetProcAddress(hkernel32, "AssignProcessToJobObject"); - pIsProcessInJob = (void *)GetProcAddress(hkernel32, "IsProcessInJob"); - pTerminateJobObject = (void *)GetProcAddress(hkernel32, "TerminateJobObject"); - pQueryInformationJobObject = (void *)GetProcAddress(hkernel32, "QueryInformationJobObject"); - pSetInformationJobObject = (void *)GetProcAddress(hkernel32, "SetInformationJobObject"); - pCreateIoCompletionPort = (void *)GetProcAddress(hkernel32, "CreateIoCompletionPort"); - pGetNumaProcessorNode = (void *)GetProcAddress(hkernel32, "GetNumaProcessorNode"); - pWTSGetActiveConsoleSessionId = (void *)GetProcAddress(hkernel32, "WTSGetActiveConsoleSessionId"); - pCreateToolhelp32Snapshot = (void *)GetProcAddress(hkernel32, "CreateToolhelp32Snapshot"); - pProcess32First = (void *)GetProcAddress(hkernel32, "Process32First"); - pProcess32Next = (void *)GetProcAddress(hkernel32, "Process32Next"); - pThread32First = (void *)GetProcAddress(hkernel32, "Thread32First"); - pThread32Next = (void *)GetProcAddress(hkernel32, "Thread32Next"); - pGetLogicalProcessorInformationEx = (void *)GetProcAddress(hkernel32, "GetLogicalProcessorInformationEx"); - pGetLargePageMinimum = (void *)GetProcAddress(hkernel32, "GetLargePageMinimum"); +#define KERNEL32_GET_PROC(func) \ + p##func = (void *)GetProcAddress(hkernel32, #func); \ + if (!p##func) trace("GetProcAddress(hkernel32, '%s') failed\n", #func); + + KERNEL32_GET_PROC(AssignProcessToJobObject); + KERNEL32_GET_PROC(CreateIoCompletionPort); + KERNEL32_GET_PROC(CreateJobObjectW); + KERNEL32_GET_PROC(CreateToolhelp32Snapshot); + KERNEL32_GET_PROC(DeleteProcThreadAttributeList); + KERNEL32_GET_PROC(GetActiveProcessorCount); + KERNEL32_GET_PROC(GetLargePageMinimum); + KERNEL32_GET_PROC(GetLogicalProcessorInformationEx); + KERNEL32_GET_PROC(GetMaximumProcessorCount); + KERNEL32_GET_PROC(GetFileInformationByHandleEx); + KERNEL32_GET_PROC(GetNativeSystemInfo); + KERNEL32_GET_PROC(GetNumaProcessorNode); pGetSystemCpuSetInformation = (void *)GetProcAddress(hkernel32, "GetSystemCpuSetInformation"); - pInitializeProcThreadAttributeList = (void *)GetProcAddress(hkernel32, "InitializeProcThreadAttributeList"); - pUpdateProcThreadAttribute = (void *)GetProcAddress(hkernel32, "UpdateProcThreadAttribute"); - pDeleteProcThreadAttributeList = (void *)GetProcAddress(hkernel32, "DeleteProcThreadAttributeList"); - pGetActiveProcessorCount = (void *)GetProcAddress(hkernel32, "GetActiveProcessorCount"); - pGetMaximumProcessorCount = (void *)GetProcAddress(hkernel32, "GetMaximumProcessorCount"); + KERNEL32_GET_PROC(GetSystemRegistryQuota); + KERNEL32_GET_PROC(InitializeProcThreadAttributeList); + KERNEL32_GET_PROC(IsProcessInJob); + KERNEL32_GET_PROC(IsWow64Process); + pIsWow64Process2 = (void *) GetProcAddress(hkernel32, "IsWow64Process2"); + KERNEL32_GET_PROC(K32GetProcessImageFileNameA); + KERNEL32_GET_PROC(OpenJobObjectA); + KERNEL32_GET_PROC(Process32First); + KERNEL32_GET_PROC(Process32Next); + KERNEL32_GET_PROC(QueryFullProcessImageNameA); + KERNEL32_GET_PROC(QueryFullProcessImageNameW); + KERNEL32_GET_PROC(QueryInformationJobObject); + KERNEL32_GET_PROC(SetInformationJobObject); + KERNEL32_GET_PROC(TerminateJobObject); + KERNEL32_GET_PROC(Thread32First); + KERNEL32_GET_PROC(Thread32Next); + KERNEL32_GET_PROC(UpdateProcThreadAttribute); + KERNEL32_GET_PROC(WTSGetActiveConsoleSessionId); + +#undef KERNEL32_GET_PROC
#define NTDLL_GET_PROC(func) \ p##func = (void *)GetProcAddress(hntdll, #func); \