summaryrefslogtreecommitdiff
path: root/protocols/ConnectionNotify/src/pid2name.cpp
blob: f5c10ca9e65826ee43b62e63d1187faebc555f4d (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(DWORD 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);
}