[LLVMdev] I am suspicious on the setting of _WIN32_WINNT

罗勇刚(Yonggang Luo) luoyonggang at gmail.com
Sun Sep 13 07:35:57 PDT 2009


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

-- 
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo




More information about the llvm-dev mailing list