ProcessIdToSessionId function (processthreadsapi.h)

Retrieves the Remote Desktop Services session associated with a specified process.


BOOL ProcessIdToSessionId(
  [in]  DWORD dwProcessId,
  [out] DWORD *pSessionId


[in] dwProcessId

Specifies a process identifier. Use the GetCurrentProcessId function to retrieve the process identifier for the current process.

[out] pSessionId

Pointer to a variable that receives the identifier of the Remote Desktop Services session under which the specified process is running. To retrieve the identifier of the session currently attached to the console, use the WTSGetActiveConsoleSessionId function.

Return value

If the function succeeds, the return value is a nonzero value.

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


Callers must hold the PROCESS_QUERY_INFORMATION access right for the specified process. For more information, see Process Security and Access Rights.


Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header processthreadsapi.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also