diff --git a/trunk/NProcessHacker/NProcessHacker.sln b/trunk/NProcessHacker/NProcessHacker.sln
index 5515eb014..e43c98b54 100644
--- a/trunk/NProcessHacker/NProcessHacker.sln
+++ b/trunk/NProcessHacker/NProcessHacker.sln
@@ -16,21 +16,35 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
+ Debug|Win64 = Debug|Win64
Release|Win32 = Release|Win32
+ Release|Win64 = Release|Win64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win32.ActiveCfg = Debug|Win32
- {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win32.Build.0 = Debug|Win32
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win32.ActiveCfg = Debug|x64
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win32.Build.0 = Debug|x64
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win64.ActiveCfg = Debug|x64
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Debug|Win64.Build.0 = Debug|x64
{52426135-4597-4988-B5BC-BE8E93489A53}.Release|Win32.ActiveCfg = Release|Win32
{52426135-4597-4988-B5BC-BE8E93489A53}.Release|Win32.Build.0 = Release|Win32
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Release|Win64.ActiveCfg = Release|x64
+ {52426135-4597-4988-B5BC-BE8E93489A53}.Release|Win64.Build.0 = Release|x64
{A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Debug|Win32.ActiveCfg = Debug|Win32
{A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Debug|Win32.Build.0 = Debug|Win32
+ {A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Debug|Win64.ActiveCfg = Debug|x64
+ {A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Debug|Win64.Build.0 = Debug|x64
{A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Release|Win32.ActiveCfg = Release|Win32
{A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Release|Win32.Build.0 = Release|Win32
- {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win32.ActiveCfg = Debug|Win32
- {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win32.Build.0 = Debug|Win32
+ {A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Release|Win64.ActiveCfg = Release|x64
+ {A910A5C9-9BCA-47BA-AFAD-92698E512DED}.Release|Win64.Build.0 = Release|x64
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win32.ActiveCfg = Debug|x64
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win32.Build.0 = Debug|x64
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win64.ActiveCfg = Debug|x64
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Debug|Win64.Build.0 = Debug|x64
{DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Release|Win32.ActiveCfg = Release|Win32
{DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Release|Win32.Build.0 = Release|Win32
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Release|Win64.ActiveCfg = Release|x64
+ {DC2D13B6-4BD1-4AC8-933F-DDB0DE850162}.Release|Win64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/trunk/NProcessHacker/NProcessHacker.vcproj b/trunk/NProcessHacker/NProcessHacker.vcproj
index d34d57e52..6834dca3a 100644
--- a/trunk/NProcessHacker/NProcessHacker.vcproj
+++ b/trunk/NProcessHacker/NProcessHacker.vcproj
@@ -11,6 +11,9 @@
+
@@ -160,6 +163,153 @@
Name="VCPostBuildEventTool"
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/NProcessHacker/NProcessHackerHook/NProcessHackerHook.vcproj b/trunk/NProcessHacker/NProcessHackerHook/NProcessHackerHook.vcproj
index 22f9db3bc..254e1902d 100644
--- a/trunk/NProcessHacker/NProcessHackerHook/NProcessHackerHook.vcproj
+++ b/trunk/NProcessHacker/NProcessHackerHook/NProcessHackerHook.vcproj
@@ -11,6 +11,9 @@
+
@@ -156,6 +159,149 @@
Name="VCPostBuildEventTool"
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/NProcessHacker/Release/NProcessHacker.dll b/trunk/NProcessHacker/Release/NProcessHacker.dll
index 7aaf8927e..ba8335606 100644
Binary files a/trunk/NProcessHacker/Release/NProcessHacker.dll and b/trunk/NProcessHacker/Release/NProcessHacker.dll differ
diff --git a/trunk/NProcessHacker/Test/Test.vcproj b/trunk/NProcessHacker/Test/Test.vcproj
index d2d170827..fd7dceb32 100644
--- a/trunk/NProcessHacker/Test/Test.vcproj
+++ b/trunk/NProcessHacker/Test/Test.vcproj
@@ -12,6 +12,9 @@
+
@@ -161,6 +164,153 @@
Name="VCPostBuildEventTool"
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/NProcessHacker/hook.h b/trunk/NProcessHacker/hook.h
index 8cd57b92c..e06c74bfc 100644
--- a/trunk/NProcessHacker/hook.h
+++ b/trunk/NProcessHacker/hook.h
@@ -27,6 +27,8 @@
/* Almost exactly the same as the hooking code in KProcessHacker. */
+#ifdef _X86_
+
#define PH_DEFINE_HOOK_CALL(Name, Arguments, Hook) \
__declspec(naked) Name(Arguments) \
{ \
@@ -49,6 +51,23 @@
__asm jmp edx \
} \
+#else
+
+#define PH_DEFINE_HOOK_CALL(Name, Arguments, Hook) \
+ Name(Arguments) \
+ { \
+ RaiseException(STATUS_NOT_SUPPORTED, 0, 0, NULL); \
+ return 0; \
+ } \
+
+#define PH_DEFINE_NT_HOOK_CALL(Name, Arguments, Hook) \
+ Name(Arguments) \
+ { \
+ RaiseException(STATUS_NOT_SUPPORTED, 0, 0, NULL); \
+ return 0; \
+ } \
+
+#endif
typedef struct _PH_HOOK
{
PVOID Function;
diff --git a/trunk/NProcessHacker/process.c b/trunk/NProcessHacker/process.c
index faa84c7ff..52c0b35d9 100644
--- a/trunk/NProcessHacker/process.c
+++ b/trunk/NProcessHacker/process.c
@@ -49,7 +49,7 @@ WsCounters:
ULONG sharedCount = 0;
ULONG shareableCount = 0;
PPSAPI_WORKING_SET_INFORMATION wsInfo;
- ULONG wsInfoLength;
+ SIZE_T wsInfoLength;
ULONG i;
if (!GetProcessMemoryInfo(ProcessHandle, &procMem, sizeof(procMem)))
diff --git a/trunk/NProcessHacker/x64/Release/NProcessHacker.dll b/trunk/NProcessHacker/x64/Release/NProcessHacker.dll
new file mode 100644
index 000000000..625f98d44
Binary files /dev/null and b/trunk/NProcessHacker/x64/Release/NProcessHacker.dll differ
diff --git a/trunk/ProcessHacker/Build/Installer/Process_Hacker_installer.iss b/trunk/ProcessHacker/Build/Installer/Process_Hacker_installer.iss
index 638effd65..b573b953e 100644
--- a/trunk/ProcessHacker/Build/Installer/Process_Hacker_installer.iss
+++ b/trunk/ProcessHacker/Build/Installer/Process_Hacker_installer.iss
@@ -20,7 +20,7 @@
#include "Custom_Messages.iss"
-; From now on you'll probably won't have to change anything, so be carefull
+; From now on you'll probably won't have to change anything, so be careful
[Setup]
AppID=Process_Hacker
AppCopyright=Copyright © 2008-2009, Process Hacker Team. Licensed under the GNU GPL, v3.
@@ -69,7 +69,7 @@ DisableDirPage=Auto
DisableProgramGroupPage=Auto
LanguageDetectionMethod=uilanguage
AppMutex=Global\ProcessHackerMutex
-ArchitecturesInstallIn64BitMode=x64 ia64
+ArchitecturesInstallIn64BitMode=x64
[Languages]
diff --git a/trunk/ProcessHacker/Build/release.cmd b/trunk/ProcessHacker/Build/release.cmd
index 32520b57f..845d5ad1a 100644
--- a/trunk/ProcessHacker/Build/release.cmd
+++ b/trunk/ProcessHacker/Build/release.cmd
@@ -5,14 +5,16 @@ SETLOCAL
SET outd=%~p1
PUSHD %outd%
-:: Copy CHANGELOG.txt, LICENSE.txt, README.txt and kprocesshacker.sys to the
-:: "Release" folder
+:: Copy various files to the "Release" folder
FOR %%a IN (
"CHANGELOG.txt" "LICENSE.txt" "README.txt"
"KProcessHacker\i386\kprocesshacker.sys"
- "NProcessHacker\Release\NProcessHacker.dll"
+ "NProcessHacker\Release\NProcessHacker.dll"
) DO COPY "..\..\..\%%a" >NUL
+:: Copy the 64-bit NPH to the "Release" folder
+COPY "..\..\..\NProcessHacker\x64\Release\NProcessHacker.dll" "NProcessHacker64.dll" >NUL
+
:: Clear older files present in "Release" folder
DEL/f/a "ProcessHacker.exe.config" "processhacker-*-setup.exe"^
"Assistant.dll" "processhacker-*.zip" >NUL 2>&1