ms c++ get pid of current process

Having grown accustomed to seeing yards and yards of code to accomplish seemingly straightforward tasks, I was pleasantly surprised at the directness of GetCurrentProcessId. Earlier today, I watched it run in a debugger, when I was following a new bit of code in a DllMain routine that combines the process ID with an embedded GUID to create a locally unique name for a mutex.

Following is the entire routine, all three machine instructions.

mov         eax,fs:[00000018]
mov         eax,dword ptr [eax+20h]
ret

BTW, two other blessedly simple Windows API functions are GetLastError and SetLastError; indeed, both are quite similar to this one.


The GetCurrentProcessId function will do this.