NtCurrentProcess(),
&pBuf,
0,
- (PULONG)&size,
+ &size,
MEM_COMMIT,
PAGE_READWRITE
);
void PsaiFree(void *ptr)
{
- ULONG nSize = 0;
+ SIZE_T nSize = 0;
NtFreeVirtualMemory(NtCurrentProcess(), &ptr, &nSize, MEM_RELEASE);
}
if (NULL == pInfo) return 0;
do {
- if (ALREADY_PROCESSED != (DWORD)pInfo->InheritedFromUniqueProcessId)
+ if (ALREADY_PROCESSED != HandleToUlong(pInfo->InheritedFromUniqueProcessId))
{
if ((Pid != (HANDLE)pInfo->UniqueProcessId) && (Pid == (HANDLE)pInfo->InheritedFromUniqueProcessId))
{
wprintf (
L"%s (%d, %d) %s\n",
Module,
- pInfo->UniqueProcessId,
- pInfo->InheritedFromUniqueProcessId,
+ HandleToUlong(pInfo->UniqueProcessId),
+ HandleToUlong(pInfo->InheritedFromUniqueProcessId),
Title
);
return EXIT_SUCCESS;
if (NULL == pInfo) return EXIT_FAILURE;
/* Print current pInfo process */
PrintProcessInfoDepth (pInfo, Depth ++);
- pInfo->InheritedFromUniqueProcessId = (HANDLE)ALREADY_PROCESSED;
+ pInfo->InheritedFromUniqueProcessId = UlongToHandle(ALREADY_PROCESSED);
/* Save current process' PID */
Pid = pInfo->UniqueProcessId;
/* Scan and print possible children */
do {
- if (ALREADY_PROCESSED != (DWORD)pInfo->InheritedFromUniqueProcessId)
+ if (ALREADY_PROCESSED != HandleToUlong(pInfo->InheritedFromUniqueProcessId))
{
if (Pid == pInfo->InheritedFromUniqueProcessId)
{
else
{
PrintProcessInfoDepth (pInfo, Depth);
- pInfo->InheritedFromUniqueProcessId = (HANDLE)ALREADY_PROCESSED;
+ pInfo->InheritedFromUniqueProcessId = UlongToHandle(ALREADY_PROCESSED);
}
}
}
{
GetProcessInfo (pInfo, & Module, & Title);
wprintf (
- L"%4d %-16s %s\n",
- pInfo->UniqueProcessId,
+ L"%4d %-16s %s (%04d)\n",
+ HandleToUlong(pInfo->UniqueProcessId),
Module,
Title,
- pInfo->InheritedFromUniqueProcessId
+ HandleToUlong(pInfo->InheritedFromUniqueProcessId)
);
}
else
{
- if (ALREADY_PROCESSED != (DWORD)pInfo->InheritedFromUniqueProcessId)
+ if (ALREADY_PROCESSED != HandleToUlong(pInfo->InheritedFromUniqueProcessId))
{
PrintProcessAndDescendants (pInfo, pInfoBase, 0);
}
NtClose (hThread);
/* Now print the collected information */
- wprintf (L" %4d Win32StartAddr:0x%08x LastErr:0x%08x State:%s\n",
- CurThread->ClientId.UniqueThread,
+ wprintf (L" %4d Win32StartAddr:0x%p LastErr:0x%08x State:%s\n",
+ HandleToUlong(CurThread->ClientId.UniqueThread),
Win32StartAddress,
0 /* FIXME: ((PTEB) tInfo.TebBaseAddress)->LastErrorValue */,
ThreadStateName[CurThread->ThreadState]
CLIENT_ID ClientId = {0, 0};
- ClientId.UniqueProcess = (PVOID) atol (PidStr);
+ ClientId.UniqueProcess = UlongToHandle(atol (PidStr));
if (FALSE == AcquirePrivileges ())
{
GetProcessInfo (pInfo, & Module, & Title);
- wprintf (L"%4d %s\n", ClientId.UniqueProcess, Module);
+ wprintf (L"%4d %s\n", HandleToUlong(ClientId.UniqueProcess), Module);
#if 0
printf (" CWD: %s\n", ""); /* it won't appear if empty */
printf (" CmdLine: %s\n", ""); /* it won't appear if empty */