I am suspicious on the setting of _WIN32_WINNT

That's because when I am using Mingw to compile llvm.
It's report can't find the API

DWORD WINAPI GetProcessId(
  __in HANDLE Process
);

In Mingw it's defined as
#if (_WIN32_WINNT >= 0x0501)
WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
#endif

but IN Wnidows SDK, there is nothing around GetProcessId.

But from MSDN
GetProcessId Function

Retrieves the process identifier of the specified process.

Syntax
DWORD WINAPI GetProcessId(
  __in HANDLE Process
);

Parameters
Process
A handle to the process. The handle must have the
PROCESS_QUERY_INFORMATION or PROCESS_QUERY_LIMITED_INFORMATION access
right.

Return Value

If the function succeeds, the return value is the process identifier
of the specified process.

If the function fails, the return value is zero. To get extended error
information, call GetLastError.

Remarks
Until a process terminates, its process identifier uniquely identifies
it on the system. For more information about access rights, see
Process Security and Access Rights.

Requirements
Client Requires Windows Vista or Windows XP SP1.
Server Requires Windows Server 2008 or Windows Server 2003.
Header Declared in Winbase.h; include Windows.h.

Library Use Kernel32.lib.

DLL Requires Kernel32.dll.

That's means the minimal requirement is Windows XP sp1.

So, maybe we need to increment the
_WIN32_WINNT
in file Win32.h
recommended changed to be 0x0501

Hi,

罗勇刚(Yonggang Luo) <luoyonggang <at> gmail.com> writes:

That's because when I am using Mingw to compile llvm.
It's report can't find the API

This is a known issue, and will be fixed Real Soon Now.