vxug-VXAPI/VX-API/GetProcessPathFromUserProce...

24 lines
817 B
C++

#include "Win32Helper.h"
DWORD GetProcessPathFromUserProcessParametersA(_In_ DWORD nBufferLength, _Inout_ PCHAR lpBuffer)
{
PRTL_USER_PROCESS_PARAMETERS ProcessParameters = GetPeb()->ProcessParameters;
if (nBufferLength < ProcessParameters->ImagePathName.Length)
return 0;
return (DWORD)WCharStringToCharString(lpBuffer, ProcessParameters->ImagePathName.Buffer, ProcessParameters->ImagePathName.MaximumLength);
}
DWORD GetProcessPathFromUserProcessParametersW(_In_ DWORD nBufferLength, _Inout_ PWCHAR lpBuffer)
{
PRTL_USER_PROCESS_PARAMETERS ProcessParameters = GetPeb()->ProcessParameters;
if (nBufferLength < ProcessParameters->ImagePathName.Length)
return 0;
if (StringCopyW(lpBuffer, ProcessParameters->ImagePathName.Buffer) == NULL)
return 0;
return ProcessParameters->ImagePathName.Length;
}