summaryrefslogtreecommitdiff
path: root/protocols/ConnectionNotify/src/pid2name.cpp
blob: 0a4cc90d6706de7cc908fe38e3b0c1f598765925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"

void pid2name(uint32_t procid, wchar_t *buffer, size_t bufLen)
{
	PROCESSENTRY32 ProcessStruct;
	ProcessStruct.dwSize = sizeof(PROCESSENTRY32);
	HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if (hSnap == INVALID_HANDLE_VALUE)
		return;
	if (Process32First(hSnap, &ProcessStruct) == FALSE)
		return;

	do {
		if (ProcessStruct.th32ProcessID == procid) {
			wcsncpy_s(buffer, bufLen, ProcessStruct.szExeFile, _TRUNCATE);
			break;
		}
	} while (Process32Next(hSnap, &ProcessStruct));

	CloseHandle(hSnap);
}