mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
0b5f0f44cd
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@2340 21ef857c-d57f-4fe0-8362-d861dc6d29cd
99 lines
1.6 KiB
C
99 lines
1.6 KiB
C
#ifndef PHBASE_H
|
|
#define PHBASE_H
|
|
|
|
#ifndef UNICODE
|
|
#define UNICODE
|
|
#endif
|
|
|
|
#include <ntwin.h>
|
|
#include <ntimport.h>
|
|
#include <ref.h>
|
|
|
|
// We don't care about "deprecation".
|
|
#pragma warning(disable: 4996)
|
|
|
|
#define PH_APP_NAME (L"Process Hacker")
|
|
|
|
#define PH_INT_STR_LEN 10
|
|
#define PH_INT_STR_LEN_1 (PH_INT_STR_LEN + 1)
|
|
|
|
#ifndef MAIN_PRIVATE
|
|
|
|
extern HFONT PhApplicationFont;
|
|
extern HANDLE PhHeapHandle;
|
|
extern HINSTANCE PhInstanceHandle;
|
|
extern PWSTR PhWindowClassName;
|
|
|
|
#endif
|
|
|
|
// basesup
|
|
|
|
struct _PH_OBJECT_TYPE;
|
|
typedef struct _PH_OBJECT_TYPE *PPH_OBJECT_TYPE;
|
|
|
|
#define PhRaiseStatus(Status) RaiseException(Status, 0, 0, NULL)
|
|
|
|
BOOLEAN PhInitializeBase();
|
|
|
|
// heap
|
|
|
|
PVOID PhAllocate(
|
|
__in SIZE_T Size
|
|
);
|
|
|
|
VOID PhFree(
|
|
__in PVOID Memory
|
|
);
|
|
|
|
PVOID PhReAlloc(
|
|
__in PVOID Memory,
|
|
__in SIZE_T Size
|
|
);
|
|
|
|
// mutex
|
|
|
|
typedef RTL_CRITICAL_SECTION PH_MUTEX, *PPH_MUTEX;
|
|
|
|
VOID FORCEINLINE PhInitializeMutex(
|
|
__out PPH_MUTEX Mutex
|
|
)
|
|
{
|
|
InitializeCriticalSection(Mutex);
|
|
}
|
|
|
|
VOID FORCEINLINE PhAcquireMutex(
|
|
__inout PPH_MUTEX Mutex
|
|
)
|
|
{
|
|
EnterCriticalSection(Mutex);
|
|
}
|
|
|
|
VOID FORCEINLINE PhReleaseMutex(
|
|
__inout PPH_MUTEX Mutex
|
|
)
|
|
{
|
|
LeaveCriticalSection(Mutex);
|
|
}
|
|
|
|
// string
|
|
|
|
#ifndef BASESUP_PRIVATE
|
|
extern PPH_OBJECT_TYPE PhStringType;
|
|
#endif
|
|
|
|
typedef struct _PH_STRING
|
|
{
|
|
UNICODE_STRING us;
|
|
WCHAR Buffer[1];
|
|
} PH_STRING, *PPH_STRING;
|
|
|
|
PPH_STRING PhCreateString(
|
|
__in PWSTR Buffer
|
|
);
|
|
|
|
PPH_STRING PhCreateStringEx(
|
|
__in PWSTR Buffer,
|
|
__in SIZE_T Length
|
|
);
|
|
|
|
#endif |