Я столкнулся со странным поведением при использовании _itoa_s
и _ultoa_s
, если я пытаюсь получить массив символов из DWORD
. Функция возвращает ноль (успех), и мое приложение продолжается, но я получаю окно исключения с кодом ошибки 0xc0000417 (STATUS_INVALID_CRUNTIME_PARAMETER)
.
ULONG pid = ProcessHandleToId(hProcess);
int size = getIntSize(pid);
char *pidStr = new char[size+1];
_ultoa_s(pid, pidStr, size+1, 10);
//do sth with pidStr...
delete[] (pidStr);`
ProcessHandleToId
возвращает PID (DWORD)
для данного ProcessHandle
.
getIntSize
возвращает число чисел в соответствующий массив int/char
(5555 => 4).