diff --git a/2.x/trunk/ProcessHacker/ProcessHacker.vcproj b/2.x/trunk/ProcessHacker/ProcessHacker.vcproj index 326b3e3f2..d9aa989c8 100644 --- a/2.x/trunk/ProcessHacker/ProcessHacker.vcproj +++ b/2.x/trunk/ProcessHacker/ProcessHacker.vcproj @@ -47,7 +47,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="../phlib/include;../phlib/pcre;include" - PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PHLIB_EXPORT" + PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PHLIB_EXPORT;PHAPP_EXPORT" StringPooling="true" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -128,7 +128,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="../phlib/include;../phlib/pcre;include" - PreprocessorDefinitions="WIN64;DEBUG;_WINDOWS;PHLIB_EXPORT" + PreprocessorDefinitions="WIN64;DEBUG;_WINDOWS;PHLIB_EXPORT;PHAPP_EXPORT" StringPooling="true" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -211,7 +211,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../phlib/include;../phlib/pcre;include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PHLIB_EXPORT" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PHLIB_EXPORT;PHAPP_EXPORT" StringPooling="true" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -296,7 +296,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="../phlib/include;../phlib/pcre;include" - PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;PHLIB_EXPORT" + PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;PHLIB_EXPORT;PHAPP_EXPORT" StringPooling="true" RuntimeLibrary="0" BufferSecurityCheck="false" @@ -548,6 +548,14 @@ RelativePath=".\include\phapp.h" > + + + + diff --git a/2.x/trunk/ProcessHacker/include/phapp.h b/2.x/trunk/ProcessHacker/include/phapp.h index 2b663f563..ec2481d61 100644 --- a/2.x/trunk/ProcessHacker/include/phapp.h +++ b/2.x/trunk/ProcessHacker/include/phapp.h @@ -1,6 +1,12 @@ #ifndef PHAPP_H #define PHAPP_H +#ifdef PHAPP_EXPORT +#define PHAPPAPI __declspec(dllexport) +#else +#define PHAPPAPI +#endif + #include #include #include @@ -73,10 +79,12 @@ typedef struct _PH_STARTUP_PARAMETERS INT PhMainMessageLoop(); +PHAPPAPI VOID PhRegisterDialog( __in HWND DialogWindowHandle ); +PHAPPAPI VOID PhUnregisterDialog( __in HWND DialogWindowHandle ); @@ -718,6 +726,7 @@ VOID PhLogServiceEntry( __in PPH_STRING DisplayName ); +PHAPPAPI VOID PhLogMessageEntry( __in UCHAR Type, __in PPH_STRING Message @@ -740,163 +749,195 @@ typedef enum _PH_ACTION_ELEVATION_LEVEL AlwaysElevateAction = 2 } PH_ACTION_ELEVATION_LEVEL; +PHAPPAPI BOOLEAN PhUiLockComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiLogoffComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiSleepComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiHibernateComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiRestartComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiShutdownComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiPoweroffComputer( __in HWND hWnd ); +PHAPPAPI BOOLEAN PhUiConnectSession( __in HWND hWnd, __in ULONG SessionId ); +PHAPPAPI BOOLEAN PhUiDisconnectSession( __in HWND hWnd, __in ULONG SessionId ); +PHAPPAPI BOOLEAN PhUiLogoffSession( __in HWND hWnd, __in ULONG SessionId ); +PHAPPAPI BOOLEAN PhUiTerminateProcesses( __in HWND hWnd, __in PPH_PROCESS_ITEM *Processes, __in ULONG NumberOfProcesses ); +PHAPPAPI BOOLEAN PhUiTerminateTreeProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiSuspendProcesses( __in HWND hWnd, __in PPH_PROCESS_ITEM *Processes, __in ULONG NumberOfProcesses ); +PHAPPAPI BOOLEAN PhUiResumeProcesses( __in HWND hWnd, __in PPH_PROCESS_ITEM *Processes, __in ULONG NumberOfProcesses ); +PHAPPAPI BOOLEAN PhUiRestartProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiDebugProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiReduceWorkingSetProcesses( __in HWND hWnd, __in PPH_PROCESS_ITEM *Processes, __in ULONG NumberOfProcesses ); +PHAPPAPI BOOLEAN PhUiSetVirtualizationProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process, __in BOOLEAN Enable ); +PHAPPAPI BOOLEAN PhUiDetachFromDebuggerProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiInjectDllProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiSetIoPriorityProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process, __in ULONG IoPriority ); +PHAPPAPI BOOLEAN PhUiSetPriorityProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process, __in ULONG PriorityClassWin32 ); +PHAPPAPI BOOLEAN PhUiSetDepStatusProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiSetProtectionProcess( __in HWND hWnd, __in PPH_PROCESS_ITEM Process ); +PHAPPAPI BOOLEAN PhUiStartService( __in HWND hWnd, __in PPH_SERVICE_ITEM Service ); +PHAPPAPI BOOLEAN PhUiContinueService( __in HWND hWnd, __in PPH_SERVICE_ITEM Service ); +PHAPPAPI BOOLEAN PhUiPauseService( __in HWND hWnd, __in PPH_SERVICE_ITEM Service ); +PHAPPAPI BOOLEAN PhUiStopService( __in HWND hWnd, __in PPH_SERVICE_ITEM Service ); +PHAPPAPI BOOLEAN PhUiDeleteService( __in HWND hWnd, __in PPH_SERVICE_ITEM Service ); +PHAPPAPI BOOLEAN PhUiCloseConnections( __in HWND hWnd, __in PPH_NETWORK_ITEM *Connections, __in ULONG NumberOfConnections ); +PHAPPAPI BOOLEAN PhUiTerminateThreads( __in HWND hWnd, __in PPH_THREAD_ITEM *Threads, __in ULONG NumberOfThreads ); +PHAPPAPI BOOLEAN PhUiForceTerminateThreads( __in HWND hWnd, __in HANDLE ProcessId, @@ -904,36 +945,42 @@ BOOLEAN PhUiForceTerminateThreads( __in ULONG NumberOfThreads ); +PHAPPAPI BOOLEAN PhUiSuspendThreads( __in HWND hWnd, __in PPH_THREAD_ITEM *Threads, __in ULONG NumberOfThreads ); +PHAPPAPI BOOLEAN PhUiResumeThreads( __in HWND hWnd, __in PPH_THREAD_ITEM *Threads, __in ULONG NumberOfThreads ); +PHAPPAPI BOOLEAN PhUiSetPriorityThread( __in HWND hWnd, __in PPH_THREAD_ITEM Thread, __in ULONG ThreadPriorityWin32 ); +PHAPPAPI BOOLEAN PhUiSetIoPriorityThread( __in HWND hWnd, __in PPH_THREAD_ITEM Thread, __in ULONG IoPriority ); +PHAPPAPI BOOLEAN PhUiUnloadModule( __in HWND hWnd, __in HANDLE ProcessId, __in PPH_MODULE_ITEM Module ); +PHAPPAPI BOOLEAN PhUiFreeMemory( __in HWND hWnd, __in HANDLE ProcessId, @@ -941,6 +988,7 @@ BOOLEAN PhUiFreeMemory( __in BOOLEAN Free ); +PHAPPAPI BOOLEAN PhUiCloseHandles( __in HWND hWnd, __in HANDLE ProcessId, @@ -949,6 +997,7 @@ BOOLEAN PhUiCloseHandles( __in BOOLEAN Warn ); +PHAPPAPI BOOLEAN PhUiSetAttributesHandle( __in HWND hWnd, __in HANDLE ProcessId, diff --git a/2.x/trunk/ProcessHacker/include/phplug.h b/2.x/trunk/ProcessHacker/include/phplug.h new file mode 100644 index 000000000..0592b6b14 --- /dev/null +++ b/2.x/trunk/ProcessHacker/include/phplug.h @@ -0,0 +1,6 @@ +#ifndef _PH_PHPLUG_H +#define _PH_PHPLUG_H + + + +#endif diff --git a/2.x/trunk/ProcessHacker/include/providers.h b/2.x/trunk/ProcessHacker/include/providers.h index 3484e0da9..edb92b77b 100644 --- a/2.x/trunk/ProcessHacker/include/providers.h +++ b/2.x/trunk/ProcessHacker/include/providers.h @@ -8,10 +8,10 @@ #ifndef PROCPRV_PRIVATE extern PPH_OBJECT_TYPE PhProcessItemType; -extern PH_CALLBACK PhProcessAddedEvent; -extern PH_CALLBACK PhProcessModifiedEvent; -extern PH_CALLBACK PhProcessRemovedEvent; -extern PH_CALLBACK PhProcessesUpdatedEvent; +PHAPPAPI extern PH_CALLBACK PhProcessAddedEvent; +PHAPPAPI extern PH_CALLBACK PhProcessModifiedEvent; +PHAPPAPI extern PH_CALLBACK PhProcessRemovedEvent; +PHAPPAPI extern PH_CALLBACK PhProcessesUpdatedEvent; extern PPH_LIST PhProcessRecordList; extern PH_QUEUED_LOCK PhProcessRecordListLock; @@ -218,10 +218,12 @@ typedef struct _PH_PROCESS_RECORD BOOLEAN PhProcessProviderInitialization(); +PHAPPAPI PPH_STRING PhGetClientIdName( __in PCLIENT_ID ClientId ); +PHAPPAPI PWSTR PhGetProcessPriorityClassWin32String( __in ULONG PriorityClassWin32 ); @@ -230,21 +232,25 @@ PPH_PROCESS_ITEM PhCreateProcessItem( __in HANDLE ProcessId ); +PHAPPAPI PPH_PROCESS_ITEM PhReferenceProcessItem( __in HANDLE ProcessId ); +PHAPPAPI VOID PhEnumProcessItems( __out_opt PPH_PROCESS_ITEM **ProcessItems, __out PULONG NumberOfProcessItems ); +PHAPPAPI BOOLEAN PhGetStatisticsTime( __in_opt PPH_PROCESS_ITEM ProcessItem, __in ULONG Index, __out PLARGE_INTEGER Time ); +PHAPPAPI PPH_STRING PhGetStatisticsTimeString( __in_opt PPH_PROCESS_ITEM ProcessItem, __in ULONG Index @@ -254,18 +260,22 @@ VOID PhProcessProviderUpdate( __in PVOID Object ); +PHAPPAPI VOID PhReferenceProcessRecord( __in PPH_PROCESS_RECORD ProcessRecord ); +PHAPPAPI BOOLEAN PhReferenceProcessRecordSafe( __in PPH_PROCESS_RECORD ProcessRecord ); +PHAPPAPI VOID PhDereferenceProcessRecord( __in PPH_PROCESS_RECORD ProcessRecord ); +PHAPPAPI PPH_PROCESS_RECORD PhFindProcessRecord( __in_opt HANDLE ProcessId, __in PLARGE_INTEGER Time @@ -278,10 +288,10 @@ VOID PhPurgeProcessRecords(); #ifndef SRVPRV_PRIVATE extern PPH_OBJECT_TYPE PhServiceItemType; -extern PH_CALLBACK PhServiceAddedEvent; -extern PH_CALLBACK PhServiceModifiedEvent; -extern PH_CALLBACK PhServiceRemovedEvent; -extern PH_CALLBACK PhServicesUpdatedEvent; +PHAPPAPI extern PH_CALLBACK PhServiceAddedEvent; +PHAPPAPI extern PH_CALLBACK PhServiceModifiedEvent; +PHAPPAPI extern PH_CALLBACK PhServiceRemovedEvent; +PHAPPAPI extern PH_CALLBACK PhServicesUpdatedEvent; #endif typedef struct _PH_SERVICE_ITEM @@ -326,6 +336,7 @@ PPH_SERVICE_ITEM PhCreateServiceItem( __in_opt LPENUM_SERVICE_STATUS_PROCESS Information ); +PHAPPAPI PPH_SERVICE_ITEM PhReferenceServiceItem( __in PWSTR Name ); @@ -334,6 +345,7 @@ VOID PhMarkNeedsConfigUpdateServiceItem( __in PPH_SERVICE_ITEM ServiceItem ); +PHAPPAPI PH_SERVICE_CHANGE PhGetServiceChange( __in PPH_SERVICE_MODIFIED_DATA Data ); @@ -389,6 +401,7 @@ BOOLEAN PhNetworkProviderInitialization(); PPH_NETWORK_ITEM PhCreateNetworkItem(); +PHAPPAPI PPH_NETWORK_ITEM PhReferenceNetworkItem( __in ULONG ProtocolType, __in PPH_IP_ENDPOINT LocalEndpoint, @@ -404,10 +417,12 @@ VOID PhNetworkProviderUpdate( __in PVOID Object ); +PHAPPAPI PWSTR PhGetProtocolTypeName( __in ULONG ProtocolType ); +PHAPPAPI PWSTR PhGetTcpStateName( __in ULONG State ); diff --git a/2.x/trunk/ProcessHacker/main.c b/2.x/trunk/ProcessHacker/main.c index 1ab5b804b..834c855cf 100644 --- a/2.x/trunk/ProcessHacker/main.c +++ b/2.x/trunk/ProcessHacker/main.c @@ -52,12 +52,16 @@ VOID PhDebugPrintLine( ) { va_list argptr; - SYSTEMTIME time; + LARGE_INTEGER time; + TIME_FIELDS timeFields; va_start(argptr, Format); - GetLocalTime(&time); - fwprintf(stderr, L"%02u:%02u:%02u.%03u: ", time.wHour, time.wMinute, time.wSecond, time.wMilliseconds); + PhQuerySystemTime(&time); + PhSystemTimeToLocalTime(&time, &time); + RtlTimeToTimeFields(&time, &timeFields); + + fwprintf(stderr, L"%02u:%02u:%02u.%03u: ", timeFields.Hour, timeFields.Minute, timeFields.Second, timeFields.Milliseconds); vfwprintf(stderr, Format, argptr); fputwc('\n', stderr); } diff --git a/2.x/trunk/ProcessHacker/mainwnd.c b/2.x/trunk/ProcessHacker/mainwnd.c index 20a5c0384..233157fa4 100644 --- a/2.x/trunk/ProcessHacker/mainwnd.c +++ b/2.x/trunk/ProcessHacker/mainwnd.c @@ -183,7 +183,7 @@ VOID PhMainWndOnNetworkItemRemoved( VOID PhMainWndOnNetworkItemsUpdated(); -HWND PhMainWndHandle; +PHAPPAPI HWND PhMainWndHandle; BOOLEAN PhMainWndExiting = FALSE; HMENU PhMainWndMenuHandle; diff --git a/2.x/trunk/ProcessHacker/procprv.c b/2.x/trunk/ProcessHacker/procprv.c index 6950cd4a9..83bbd5faa 100644 --- a/2.x/trunk/ProcessHacker/procprv.c +++ b/2.x/trunk/ProcessHacker/procprv.c @@ -118,10 +118,10 @@ PH_QUEUED_LOCK PhProcessHashtableLock = PH_QUEUED_LOCK_INIT; SLIST_HEADER PhProcessQueryDataListHead; -PH_CALLBACK PhProcessAddedEvent; -PH_CALLBACK PhProcessModifiedEvent; -PH_CALLBACK PhProcessRemovedEvent; -PH_CALLBACK PhProcessesUpdatedEvent; +PHAPPAPI PH_CALLBACK PhProcessAddedEvent; +PHAPPAPI PH_CALLBACK PhProcessModifiedEvent; +PHAPPAPI PH_CALLBACK PhProcessRemovedEvent; +PHAPPAPI PH_CALLBACK PhProcessesUpdatedEvent; PPH_LIST PhProcessRecordList; PH_QUEUED_LOCK PhProcessRecordListLock = PH_QUEUED_LOCK_INIT; diff --git a/2.x/trunk/ProcessHacker/sdk/phdk.h b/2.x/trunk/ProcessHacker/sdk/phdk.h new file mode 100644 index 000000000..883fa9e26 --- /dev/null +++ b/2.x/trunk/ProcessHacker/sdk/phdk.h @@ -0,0 +1,297 @@ +#ifndef _PH_PHDK_H +#define _PH_PHDK_H + +#pragma once + +#define PHLIB_IMPORT +#define PHAPPAPI __declspec(dllimport) + +#include "ph.h" +#include "phplug.h" + +#include "providers.h" + +// phapp + +PHAPPAPI +VOID PhRegisterDialog( + __in HWND DialogWindowHandle + ); + +PHAPPAPI +VOID PhUnregisterDialog( + __in HWND DialogWindowHandle + ); + +PHAPPAPI extern HWND PhMainWndHandle; + +#define ProcessHacker_ShowProcessProperties(hWnd, ProcessItem) \ + SendMessage(hWnd, WM_PH_SHOW_PROCESS_PROPERTIES, 0, (LPARAM)(ProcessItem)) +#define ProcessHacker_Destroy(hWnd) \ + SendMessage(hWnd, WM_PH_DESTROY, 0, 0) +#define ProcessHacker_ToggleVisible(hWnd) \ + SendMessage(hWnd, WM_PH_TOGGLE_VISIBLE, 0, 0) + +PHAPPAPI +VOID PhLogMessageEntry( + __in UCHAR Type, + __in PPH_STRING Message + ); + +PHAPPAPI +BOOLEAN PhUiLockComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiLogoffComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiSleepComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiHibernateComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiRestartComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiShutdownComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiPoweroffComputer( + __in HWND hWnd + ); + +PHAPPAPI +BOOLEAN PhUiConnectSession( + __in HWND hWnd, + __in ULONG SessionId + ); + +PHAPPAPI +BOOLEAN PhUiDisconnectSession( + __in HWND hWnd, + __in ULONG SessionId + ); + +PHAPPAPI +BOOLEAN PhUiLogoffSession( + __in HWND hWnd, + __in ULONG SessionId + ); + +PHAPPAPI +BOOLEAN PhUiTerminateProcesses( + __in HWND hWnd, + __in PPH_PROCESS_ITEM *Processes, + __in ULONG NumberOfProcesses + ); + +PHAPPAPI +BOOLEAN PhUiTerminateTreeProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiSuspendProcesses( + __in HWND hWnd, + __in PPH_PROCESS_ITEM *Processes, + __in ULONG NumberOfProcesses + ); + +PHAPPAPI +BOOLEAN PhUiResumeProcesses( + __in HWND hWnd, + __in PPH_PROCESS_ITEM *Processes, + __in ULONG NumberOfProcesses + ); + +PHAPPAPI +BOOLEAN PhUiRestartProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiDebugProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiReduceWorkingSetProcesses( + __in HWND hWnd, + __in PPH_PROCESS_ITEM *Processes, + __in ULONG NumberOfProcesses + ); + +PHAPPAPI +BOOLEAN PhUiSetVirtualizationProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process, + __in BOOLEAN Enable + ); + +PHAPPAPI +BOOLEAN PhUiDetachFromDebuggerProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiInjectDllProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiSetIoPriorityProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process, + __in ULONG IoPriority + ); + +PHAPPAPI +BOOLEAN PhUiSetPriorityProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process, + __in ULONG PriorityClassWin32 + ); + +PHAPPAPI +BOOLEAN PhUiSetDepStatusProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiSetProtectionProcess( + __in HWND hWnd, + __in PPH_PROCESS_ITEM Process + ); + +PHAPPAPI +BOOLEAN PhUiStartService( + __in HWND hWnd, + __in PPH_SERVICE_ITEM Service + ); + +PHAPPAPI +BOOLEAN PhUiContinueService( + __in HWND hWnd, + __in PPH_SERVICE_ITEM Service + ); + +PHAPPAPI +BOOLEAN PhUiPauseService( + __in HWND hWnd, + __in PPH_SERVICE_ITEM Service + ); + +PHAPPAPI +BOOLEAN PhUiStopService( + __in HWND hWnd, + __in PPH_SERVICE_ITEM Service + ); + +PHAPPAPI +BOOLEAN PhUiDeleteService( + __in HWND hWnd, + __in PPH_SERVICE_ITEM Service + ); + +PHAPPAPI +BOOLEAN PhUiCloseConnections( + __in HWND hWnd, + __in PPH_NETWORK_ITEM *Connections, + __in ULONG NumberOfConnections + ); + +PHAPPAPI +BOOLEAN PhUiTerminateThreads( + __in HWND hWnd, + __in PPH_THREAD_ITEM *Threads, + __in ULONG NumberOfThreads + ); + +PHAPPAPI +BOOLEAN PhUiForceTerminateThreads( + __in HWND hWnd, + __in HANDLE ProcessId, + __in PPH_THREAD_ITEM *Threads, + __in ULONG NumberOfThreads + ); + +PHAPPAPI +BOOLEAN PhUiSuspendThreads( + __in HWND hWnd, + __in PPH_THREAD_ITEM *Threads, + __in ULONG NumberOfThreads + ); + +PHAPPAPI +BOOLEAN PhUiResumeThreads( + __in HWND hWnd, + __in PPH_THREAD_ITEM *Threads, + __in ULONG NumberOfThreads + ); + +PHAPPAPI +BOOLEAN PhUiSetPriorityThread( + __in HWND hWnd, + __in PPH_THREAD_ITEM Thread, + __in ULONG ThreadPriorityWin32 + ); + +PHAPPAPI +BOOLEAN PhUiSetIoPriorityThread( + __in HWND hWnd, + __in PPH_THREAD_ITEM Thread, + __in ULONG IoPriority + ); + +PHAPPAPI +BOOLEAN PhUiUnloadModule( + __in HWND hWnd, + __in HANDLE ProcessId, + __in PPH_MODULE_ITEM Module + ); + +PHAPPAPI +BOOLEAN PhUiFreeMemory( + __in HWND hWnd, + __in HANDLE ProcessId, + __in PPH_MEMORY_ITEM MemoryItem, + __in BOOLEAN Free + ); + +PHAPPAPI +BOOLEAN PhUiCloseHandles( + __in HWND hWnd, + __in HANDLE ProcessId, + __in PPH_HANDLE_ITEM *Handles, + __in ULONG NumberOfHandles, + __in BOOLEAN Warn + ); + +PHAPPAPI +BOOLEAN PhUiSetAttributesHandle( + __in HWND hWnd, + __in HANDLE ProcessId, + __in PPH_HANDLE_ITEM Handle, + __in ULONG Attributes + ); + +#endif diff --git a/2.x/trunk/ProcessHacker/srvprv.c b/2.x/trunk/ProcessHacker/srvprv.c index 121564a15..38b2db536 100644 --- a/2.x/trunk/ProcessHacker/srvprv.c +++ b/2.x/trunk/ProcessHacker/srvprv.c @@ -52,10 +52,10 @@ PPH_OBJECT_TYPE PhServiceItemType; PPH_HASHTABLE PhServiceHashtable; PH_QUEUED_LOCK PhServiceHashtableLock; -PH_CALLBACK PhServiceAddedEvent; -PH_CALLBACK PhServiceModifiedEvent; -PH_CALLBACK PhServiceRemovedEvent; -PH_CALLBACK PhServicesUpdatedEvent; +PHAPPAPI PH_CALLBACK PhServiceAddedEvent; +PHAPPAPI PH_CALLBACK PhServiceModifiedEvent; +PHAPPAPI PH_CALLBACK PhServiceRemovedEvent; +PHAPPAPI PH_CALLBACK PhServicesUpdatedEvent; BOOLEAN PhServiceProviderInitialization() { diff --git a/2.x/trunk/build/sdk/makesdk.cmd b/2.x/trunk/build/sdk/makesdk.cmd new file mode 100644 index 000000000..2d48ae3c9 --- /dev/null +++ b/2.x/trunk/build/sdk/makesdk.cmd @@ -0,0 +1,63 @@ +rmdir /S /Q ..\..\sdk +mkdir ..\..\sdk\include +mkdir ..\..\sdk\lib\amd64 +mkdir ..\..\sdk\lib\i386 + +rem Header files + +for %%a in ( + fastlock.h + graph.h + hexedit.h + kph.h + ntbasic.h + ntcm.h + ntdbg.h + ntexapi.h + ntgdi.h + ntimport.h + ntioapi.h + ntkeapi.h + ntldr.h + ntlpcapi.h + ntlsa.h + ntmisc.h + ntmmapi.h + ntobapi.h + ntpebteb.h + ntpnpapi.h + ntpoapi.h + ntpsapi.h + ntregapi.h + ntrtl.h + ntsam.h + ntseapi.h + nttmapi.h + nttp.h + ntwin.h + ntxcapi.h + ph.h + phbase.h + phgui.h + phnt.h + phnt.h + phsup.h + queuedlock.h + ref.h + rev.h + symprv.h + winsta.h + ) do copy ..\..\phlib\include\%%a ..\..\sdk\include\ + +copy ..\..\ProcessHacker\include\providers.h ..\..\sdk\include\ +copy ..\..\ProcessHacker\sdk\phdk.h ..\..\sdk\include\ + +rem Libraries + +copy ..\..\lib\lib32\ntdll.lib ..\..\sdk\lib\i386\ +copy ..\..\lib\lib64\ntdll.lib ..\..\sdk\lib\amd64\ +copy ..\..\lib\lib32\samlib.lib ..\..\sdk\lib\i386\ +copy ..\..\lib\lib64\samlib.lib ..\..\sdk\lib\amd64\ + +copy ..\..\bin\Release32\ProcessHacker.lib ..\..\sdk\lib\i386\ +copy ..\..\bin\Release64\ProcessHacker.lib ..\..\sdk\lib\amd64\