mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
added phlib exports
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@3422 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../phlib/include;../phlib/pcre;include"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS"
|
||||
PreprocessorDefinitions="WIN32;DEBUG;_WINDOWS;PHLIB_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"
|
||||
PreprocessorDefinitions="WIN64;DEBUG;_WINDOWS;PHLIB_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"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PHLIB_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"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;PHLIB_EXPORT"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
@@ -357,8 +357,6 @@
|
||||
<Files>
|
||||
<Filter
|
||||
Name="phlib"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\phlib\basesup.c"
|
||||
@@ -643,6 +641,8 @@
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Process Hacker"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\about.c"
|
||||
@@ -660,6 +660,10 @@
|
||||
RelativePath=".\anawait.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\appsup.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\chcol.c"
|
||||
>
|
||||
@@ -828,10 +832,6 @@
|
||||
RelativePath=".\ssndmsg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\support.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\sysinfo.c"
|
||||
>
|
||||
|
||||
@@ -260,7 +260,7 @@ VOID PhWriteProcessTree(
|
||||
__inout PPH_FILE_STREAM FileStream
|
||||
);
|
||||
|
||||
// support
|
||||
// appsup
|
||||
|
||||
BOOLEAN PhGetProcessIsSuspended(
|
||||
__in PSYSTEM_PROCESS_INFORMATION Process
|
||||
|
||||
@@ -14,41 +14,67 @@ typedef struct _PH_FAST_LOCK
|
||||
|
||||
VOID PhFastLockInitialization();
|
||||
|
||||
VOID PhInitializeFastLock(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeFastLock(
|
||||
__out PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
VOID PhDeleteFastLock(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteFastLock(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhAcquireFastLockExclusive PhfAcquireFastLockExclusive
|
||||
__mayRaise VOID FASTCALL PhfAcquireFastLockExclusive(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfAcquireFastLockExclusive(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhAcquireFastLockShared PhfAcquireFastLockShared
|
||||
__mayRaise VOID FASTCALL PhfAcquireFastLockShared(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfAcquireFastLockShared(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhReleaseFastLockExclusive PhfReleaseFastLockExclusive
|
||||
VOID FASTCALL PhfReleaseFastLockExclusive(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfReleaseFastLockExclusive(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhReleaseFastLockShared PhfReleaseFastLockShared
|
||||
VOID FASTCALL PhfReleaseFastLockShared(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfReleaseFastLockShared(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhTryAcquireFastLockExclusive PhfTryAcquireFastLockExclusive
|
||||
BOOLEAN FASTCALL PhfTryAcquireFastLockExclusive(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
PhfTryAcquireFastLockExclusive(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
#define PhTryAcquireFastLockShared PhfTryAcquireFastLockShared
|
||||
BOOLEAN FASTCALL PhfTryAcquireFastLockShared(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
PhfTryAcquireFastLockShared(
|
||||
__inout PPH_FAST_LOCK FastLock
|
||||
);
|
||||
|
||||
|
||||
@@ -50,11 +50,13 @@ typedef struct _PH_GRAPH_DRAW_INFO
|
||||
|
||||
BOOLEAN PhGraphControlInitialization();
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhDrawGraph(
|
||||
__in HDC hdc,
|
||||
__in PPH_GRAPH_DRAW_INFO DrawInfo
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetGraphText(
|
||||
__in HDC hdc,
|
||||
__inout PPH_GRAPH_DRAW_INFO DrawInfo,
|
||||
@@ -64,6 +66,7 @@ VOID PhSetGraphText(
|
||||
__in ULONG Align
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
HWND PhCreateGraphControl(
|
||||
__in HWND ParentHandle,
|
||||
__in INT_PTR Id
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
BOOLEAN PhHexEditInitialization();
|
||||
|
||||
PHLIBAPI
|
||||
HWND PhCreateHexEditControl(
|
||||
__in HWND ParentHandle,
|
||||
__in INT_PTR Id
|
||||
|
||||
@@ -122,37 +122,42 @@ typedef struct _ETWREG_BASIC_INFORMATION
|
||||
ULONG_PTR SessionId;
|
||||
} ETWREG_BASIC_INFORMATION, *PETWREG_BASIC_INFORMATION;
|
||||
|
||||
NTSTATUS KphInit();
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphConnect(
|
||||
__out PHANDLE KphHandle,
|
||||
__in_opt PWSTR DeviceName
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphConnect2(
|
||||
__out PHANDLE KphHandle,
|
||||
__in_opt PWSTR DeviceName,
|
||||
__in PWSTR FileName
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphDisconnect(
|
||||
__in HANDLE KphHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphInstall(
|
||||
__in_opt PWSTR DeviceName,
|
||||
__in PWSTR FileName
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphUninstall(
|
||||
__in_opt PWSTR DeviceName
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetFeatures(
|
||||
__in HANDLE KphHandle,
|
||||
__out PULONG Features
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE ProcessHandle,
|
||||
@@ -160,6 +165,7 @@ NTSTATUS KphOpenProcess(
|
||||
__in ACCESS_MASK DesiredAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenProcessToken(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE TokenHandle,
|
||||
@@ -167,6 +173,7 @@ NTSTATUS KphOpenProcessToken(
|
||||
__in ACCESS_MASK DesiredAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenProcessJob(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE JobHandle,
|
||||
@@ -174,22 +181,26 @@ NTSTATUS KphOpenProcessJob(
|
||||
__in ACCESS_MASK DesiredAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSuspendProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphResumeProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphTerminateProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
__in NTSTATUS ExitStatus
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphReadVirtualMemory(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -199,6 +210,7 @@ NTSTATUS KphReadVirtualMemory(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphWriteVirtualMemory(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -208,6 +220,7 @@ NTSTATUS KphWriteVirtualMemory(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphUnsafeReadVirtualMemory(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -217,30 +230,35 @@ NTSTATUS KphUnsafeReadVirtualMemory(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetProcessProtected(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessId,
|
||||
__out PBOOLEAN IsProtected
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetProcessProtected(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessId,
|
||||
__in BOOLEAN IsProtected
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetExecuteOptions(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
__in ULONG ExecuteOptions
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetProcessToken(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE SourceProcessId,
|
||||
__in HANDLE TargetProcessId
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphQueryInformationProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -250,6 +268,7 @@ NTSTATUS KphQueryInformationProcess(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphQueryInformationThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
@@ -259,6 +278,7 @@ NTSTATUS KphQueryInformationThread(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetInformationProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -267,6 +287,7 @@ NTSTATUS KphSetInformationProcess(
|
||||
__in ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetInformationThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
@@ -275,6 +296,7 @@ NTSTATUS KphSetInformationThread(
|
||||
__in ULONG ThreadInformationLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenThread(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE ThreadHandle,
|
||||
@@ -282,6 +304,7 @@ NTSTATUS KphOpenThread(
|
||||
__in ACCESS_MASK DesiredAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenThreadProcess(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE ProcessHandle,
|
||||
@@ -289,30 +312,35 @@ NTSTATUS KphOpenThreadProcess(
|
||||
__in ACCESS_MASK DesiredAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphTerminateThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__in NTSTATUS ExitStatus
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphDangerousTerminateThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__in NTSTATUS ExitStatus
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetContextThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__inout PCONTEXT ThreadContext
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetContextThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__in PCONTEXT ThreadContext
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphCaptureStackBackTraceThread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
@@ -323,18 +351,21 @@ NTSTATUS KphCaptureStackBackTraceThread(
|
||||
__out_opt PULONG BackTraceHash
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetThreadWin32Thread(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__out PPVOID Win32Thread
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphAssignImpersonationToken(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ThreadHandle,
|
||||
__in HANDLE TokenHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphQueryProcessHandles(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -343,6 +374,7 @@ NTSTATUS KphQueryProcessHandles(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetHandleObjectName(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -352,6 +384,7 @@ NTSTATUS KphGetHandleObjectName(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphZwQueryObject(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -362,6 +395,7 @@ NTSTATUS KphZwQueryObject(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphDuplicateObject(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE SourceProcessHandle,
|
||||
@@ -373,6 +407,7 @@ NTSTATUS KphDuplicateObject(
|
||||
__in ULONG Options
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetHandleAttributes(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -380,12 +415,14 @@ NTSTATUS KphSetHandleAttributes(
|
||||
__in ULONG Flags
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphSetHandleGrantedAccess(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE Handle,
|
||||
__in ACCESS_MASK GrantedAccess
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetProcessId(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -393,6 +430,7 @@ NTSTATUS KphGetProcessId(
|
||||
__out PHANDLE ProcessId
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphGetThreadId(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
@@ -401,6 +439,7 @@ NTSTATUS KphGetThreadId(
|
||||
__out_opt PHANDLE ProcessId
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenNamedObject(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE Handle,
|
||||
@@ -408,6 +447,7 @@ NTSTATUS KphOpenNamedObject(
|
||||
__in POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenDirectoryObject(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE DirectoryHandle,
|
||||
@@ -415,12 +455,14 @@ NTSTATUS KphOpenDirectoryObject(
|
||||
__in POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenDriver(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE DriverHandle,
|
||||
__in POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphQueryInformationDriver(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE DriverHandle,
|
||||
@@ -430,12 +472,14 @@ NTSTATUS KphQueryInformationDriver(
|
||||
__out_opt PULONG ReturnLength
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphOpenType(
|
||||
__in HANDLE KphHandle,
|
||||
__out PHANDLE TypeHandle,
|
||||
__in POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS KphQueryInformationEtwReg(
|
||||
__in HANDLE KphHandle,
|
||||
__in HANDLE ProcessHandle,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,6 +19,14 @@
|
||||
#define UNICODE
|
||||
#endif
|
||||
|
||||
#if defined(PHLIB_EXPORT)
|
||||
#define PHLIBAPI __declspec(dllexport)
|
||||
#elif defined(PHLIB_IMPORT)
|
||||
#define PHLIBAPI __declspec(dllimport)
|
||||
#else
|
||||
#define PHLIBAPI
|
||||
#endif
|
||||
|
||||
#include <ntwin.h>
|
||||
#include <ntbasic.h>
|
||||
#include <phnt.h>
|
||||
@@ -160,7 +168,10 @@ extern LIST_ENTRY PhDbgThreadListHead;
|
||||
extern PH_QUEUED_LOCK PhDbgThreadListLock;
|
||||
#endif
|
||||
|
||||
HANDLE PhCreateThread(
|
||||
PHLIBAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
PhCreateThread(
|
||||
__in_opt SIZE_T StackSize,
|
||||
__in PUSER_THREAD_START_ROUTINE StartAddress,
|
||||
__in PVOID Parameter
|
||||
@@ -168,27 +179,43 @@ HANDLE PhCreateThread(
|
||||
|
||||
// misc. system
|
||||
|
||||
VOID PhQuerySystemTime(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhQuerySystemTime(
|
||||
__out PLARGE_INTEGER SystemTime
|
||||
);
|
||||
|
||||
VOID PhQueryTimeZoneBias(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhQueryTimeZoneBias(
|
||||
__out PLARGE_INTEGER TimeZoneBias
|
||||
);
|
||||
|
||||
VOID PhSystemTimeToLocalTime(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhSystemTimeToLocalTime(
|
||||
__in PLARGE_INTEGER SystemTime,
|
||||
__out PLARGE_INTEGER LocalTime
|
||||
);
|
||||
|
||||
VOID PhLocalTimeToSystemTime(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhLocalTimeToSystemTime(
|
||||
__in PLARGE_INTEGER LocalTime,
|
||||
__out PLARGE_INTEGER SystemTime
|
||||
);
|
||||
|
||||
// heap
|
||||
|
||||
__mayRaise PVOID PhAllocate(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
PhAllocate(
|
||||
__in SIZE_T Size
|
||||
);
|
||||
|
||||
@@ -201,11 +228,18 @@ PVOID PhAllocateExSafe(
|
||||
__in ULONG Flags
|
||||
);
|
||||
|
||||
VOID PhFree(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhFree(
|
||||
__in __post_invalid PVOID Memory
|
||||
);
|
||||
|
||||
__mayRaise PVOID PhReAllocate(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
PhReAllocate(
|
||||
__in PVOID Memory,
|
||||
__in SIZE_T Size
|
||||
);
|
||||
@@ -215,12 +249,18 @@ PVOID PhReAllocateSafe(
|
||||
__in SIZE_T Size
|
||||
);
|
||||
|
||||
PVOID PhAllocatePage(
|
||||
PHLIBAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
PhAllocatePage(
|
||||
__in SIZE_T Size,
|
||||
__out_opt PSIZE_T NewSize
|
||||
);
|
||||
|
||||
VOID PhFreePage(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhFreePage(
|
||||
__in PVOID Memory
|
||||
);
|
||||
|
||||
@@ -355,23 +395,35 @@ typedef struct _PH_EVENT
|
||||
|
||||
#define PH_EVENT_INIT { PH_EVENT_REFCOUNT_INC, NULL }
|
||||
|
||||
VOID FASTCALL PhfInitializeEvent(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfInitializeEvent(
|
||||
__out PPH_EVENT Event
|
||||
);
|
||||
|
||||
#define PhSetEvent PhfSetEvent
|
||||
VOID FASTCALL PhfSetEvent(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfSetEvent(
|
||||
__inout PPH_EVENT Event
|
||||
);
|
||||
|
||||
#define PhWaitForEvent PhfWaitForEvent
|
||||
BOOLEAN FASTCALL PhfWaitForEvent(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
PhfWaitForEvent(
|
||||
__inout PPH_EVENT Event,
|
||||
__in_opt PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
#define PhResetEvent PhfResetEvent
|
||||
VOID FASTCALL PhfResetEvent(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfResetEvent(
|
||||
__inout PPH_EVENT Event
|
||||
);
|
||||
|
||||
@@ -417,19 +469,31 @@ typedef struct _PH_RUNDOWN_WAIT_BLOCK
|
||||
PH_EVENT WakeEvent;
|
||||
} PH_RUNDOWN_WAIT_BLOCK, *PPH_RUNDOWN_WAIT_BLOCK;
|
||||
|
||||
VOID FASTCALL PhfInitializeRundownProtection(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfInitializeRundownProtection(
|
||||
__out PPH_RUNDOWN_PROTECT Protection
|
||||
);
|
||||
|
||||
BOOLEAN FASTCALL PhfAcquireRundownProtection(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
PhfAcquireRundownProtection(
|
||||
__inout PPH_RUNDOWN_PROTECT Protection
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfReleaseRundownProtection(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfReleaseRundownProtection(
|
||||
__inout PPH_RUNDOWN_PROTECT Protection
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfWaitForRundownProtection(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfWaitForRundownProtection(
|
||||
__inout PPH_RUNDOWN_PROTECT Protection
|
||||
);
|
||||
|
||||
@@ -511,16 +575,25 @@ typedef struct _PH_INITONCE
|
||||
#define PH_INITONCE_INIT { PH_INITONCE_UNINITIALIZED, PH_EVENT_INIT }
|
||||
|
||||
#define PhInitializeInitOnce PhfInitializeInitOnce
|
||||
VOID FASTCALL PhfInitializeInitOnce(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfInitializeInitOnce(
|
||||
__out PPH_INITONCE InitOnce
|
||||
);
|
||||
|
||||
BOOLEAN FASTCALL PhfBeginInitOnce(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
PhfBeginInitOnce(
|
||||
__inout PPH_INITONCE InitOnce
|
||||
);
|
||||
|
||||
#define PhEndInitOnce PhfEndInitOnce
|
||||
VOID FASTCALL PhfEndInitOnce(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfEndInitOnce(
|
||||
__inout PPH_INITONCE InitOnce
|
||||
);
|
||||
|
||||
@@ -540,15 +613,24 @@ FORCEINLINE BOOLEAN PhBeginInitOnce(
|
||||
extern PPH_OBJECT_TYPE PhStringType;
|
||||
#endif
|
||||
|
||||
PSTR PhDuplicateAnsiStringZ(
|
||||
PHLIBAPI
|
||||
PSTR
|
||||
NTAPI
|
||||
PhDuplicateAnsiStringZ(
|
||||
__in PSTR String
|
||||
);
|
||||
|
||||
PSTR PhDuplicateAnsiStringZSafe(
|
||||
PHLIBAPI
|
||||
PSTR
|
||||
NTAPI
|
||||
PhDuplicateAnsiStringZSafe(
|
||||
__in PSTR String
|
||||
);
|
||||
|
||||
BOOLEAN PhCopyAnsiStringZ(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhCopyAnsiStringZ(
|
||||
__in PSTR InputBuffer,
|
||||
__in ULONG InputCount,
|
||||
__out_ecount_z_opt(OutputCount) PSTR OutputBuffer,
|
||||
@@ -556,7 +638,10 @@ BOOLEAN PhCopyAnsiStringZ(
|
||||
__out_opt PULONG ReturnCount
|
||||
);
|
||||
|
||||
BOOLEAN PhCopyUnicodeStringZ(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhCopyUnicodeStringZ(
|
||||
__in PWSTR InputBuffer,
|
||||
__in ULONG InputCount,
|
||||
__out_ecount_z_opt(OutputCount) PWSTR OutputBuffer,
|
||||
@@ -564,7 +649,10 @@ BOOLEAN PhCopyUnicodeStringZ(
|
||||
__out_opt PULONG ReturnCount
|
||||
);
|
||||
|
||||
BOOLEAN PhCopyUnicodeStringZFromAnsi(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhCopyUnicodeStringZFromAnsi(
|
||||
__in PSTR InputBuffer,
|
||||
__in ULONG InputCount,
|
||||
__out_ecount_z_opt(OutputCount) PWSTR OutputBuffer,
|
||||
@@ -725,47 +813,74 @@ typedef struct _PH_STRING
|
||||
WCHAR Buffer[1];
|
||||
} PH_STRING, *PPH_STRING;
|
||||
|
||||
PPH_STRING PhCreateString(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhCreateString(
|
||||
__in PWSTR Buffer
|
||||
);
|
||||
|
||||
PPH_STRING PhCreateStringEx(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhCreateStringEx(
|
||||
__in_opt PWSTR Buffer,
|
||||
__in SIZE_T Length
|
||||
);
|
||||
|
||||
PPH_STRING PhCreateStringFromAnsi(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhCreateStringFromAnsi(
|
||||
__in PSTR Buffer
|
||||
);
|
||||
|
||||
PPH_STRING PhCreateStringFromAnsiEx(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhCreateStringFromAnsiEx(
|
||||
__in PSTR Buffer,
|
||||
__in SIZE_T Length
|
||||
);
|
||||
|
||||
PPH_STRING PhConcatStrings(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhConcatStrings(
|
||||
__in ULONG Count,
|
||||
...
|
||||
);
|
||||
|
||||
#define PH_CONCAT_STRINGS_LENGTH_CACHE_SIZE 16
|
||||
|
||||
PPH_STRING PhConcatStrings_V(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhConcatStrings_V(
|
||||
__in ULONG Count,
|
||||
__in va_list ArgPtr
|
||||
);
|
||||
|
||||
PPH_STRING PhConcatStrings2(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhConcatStrings2(
|
||||
__in PWSTR String1,
|
||||
__in PWSTR String2
|
||||
);
|
||||
|
||||
PPH_STRING PhFormatString(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhFormatString(
|
||||
__in __format_string PWSTR Format,
|
||||
...
|
||||
);
|
||||
|
||||
PPH_STRING PhFormatString_V(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhFormatString_V(
|
||||
__in __format_string PWSTR Format,
|
||||
__in va_list ArgPtr
|
||||
);
|
||||
@@ -1280,20 +1395,32 @@ typedef struct _PH_ANSI_STRING
|
||||
CHAR Buffer[1];
|
||||
} PH_ANSI_STRING, *PPH_ANSI_STRING;
|
||||
|
||||
PPH_ANSI_STRING PhCreateAnsiString(
|
||||
PHLIBAPI
|
||||
PPH_ANSI_STRING
|
||||
NTAPI
|
||||
PhCreateAnsiString(
|
||||
__in PSTR Buffer
|
||||
);
|
||||
|
||||
PPH_ANSI_STRING PhCreateAnsiStringEx(
|
||||
PHLIBAPI
|
||||
PPH_ANSI_STRING
|
||||
NTAPI
|
||||
PhCreateAnsiStringEx(
|
||||
__in_opt PSTR Buffer,
|
||||
__in SIZE_T Length
|
||||
);
|
||||
|
||||
PPH_ANSI_STRING PhCreateAnsiStringFromUnicode(
|
||||
PHLIBAPI
|
||||
PPH_ANSI_STRING
|
||||
NTAPI
|
||||
PhCreateAnsiStringFromUnicode(
|
||||
__in PWSTR Buffer
|
||||
);
|
||||
|
||||
PPH_ANSI_STRING PhCreateAnsiStringFromUnicodeEx(
|
||||
PHLIBAPI
|
||||
PPH_ANSI_STRING
|
||||
NTAPI
|
||||
PhCreateAnsiStringFromUnicodeEx(
|
||||
__in PWSTR Buffer,
|
||||
__in SIZE_T Length
|
||||
);
|
||||
@@ -1395,66 +1522,102 @@ typedef struct _PH_STRING_BUILDER
|
||||
PPH_STRING String;
|
||||
} PH_STRING_BUILDER, *PPH_STRING_BUILDER;
|
||||
|
||||
VOID PhInitializeStringBuilder(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeStringBuilder(
|
||||
__out PPH_STRING_BUILDER StringBuilder,
|
||||
__in ULONG InitialCapacity
|
||||
);
|
||||
|
||||
VOID PhDeleteStringBuilder(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteStringBuilder(
|
||||
__inout PPH_STRING_BUILDER StringBuilder
|
||||
);
|
||||
|
||||
PPH_STRING PhReferenceStringBuilderString(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhReferenceStringBuilderString(
|
||||
__in PPH_STRING_BUILDER StringBuilder
|
||||
);
|
||||
|
||||
VOID PhStringBuilderAppend(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderAppend(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in PPH_STRING String
|
||||
);
|
||||
|
||||
VOID PhStringBuilderAppend2(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderAppend2(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in PWSTR String
|
||||
);
|
||||
|
||||
VOID PhStringBuilderAppendEx(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderAppendEx(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in PWSTR String,
|
||||
__in ULONG Length
|
||||
);
|
||||
|
||||
VOID PhStringBuilderAppendChar(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderAppendChar(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in WCHAR Character
|
||||
);
|
||||
|
||||
VOID PhStringBuilderAppendFormat(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderAppendFormat(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in __format_string PWSTR Format,
|
||||
...
|
||||
);
|
||||
|
||||
VOID PhStringBuilderInsert(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderInsert(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in ULONG Index,
|
||||
__in PPH_STRING String
|
||||
);
|
||||
|
||||
VOID PhStringBuilderInsert2(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderInsert2(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in ULONG Index,
|
||||
__in PWSTR String
|
||||
);
|
||||
|
||||
VOID PhStringBuilderInsertEx(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderInsertEx(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in ULONG Index,
|
||||
__in PWSTR String,
|
||||
__in ULONG Length
|
||||
);
|
||||
|
||||
VOID PhStringBuilderRemove(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhStringBuilderRemove(
|
||||
__inout PPH_STRING_BUILDER StringBuilder,
|
||||
__in ULONG StartIndex,
|
||||
__in ULONG Count
|
||||
@@ -1481,50 +1644,77 @@ typedef struct _PH_LIST
|
||||
PPVOID Items;
|
||||
} PH_LIST, *PPH_LIST;
|
||||
|
||||
PPH_LIST PhCreateList(
|
||||
PHLIBAPI
|
||||
PPH_LIST
|
||||
NTAPI
|
||||
PhCreateList(
|
||||
__in ULONG InitialCapacity
|
||||
);
|
||||
|
||||
VOID PhAddListItem(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhAddListItem(
|
||||
__inout PPH_LIST List,
|
||||
__in PVOID Item
|
||||
);
|
||||
|
||||
VOID PhAddListItems(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhAddListItems(
|
||||
__inout PPH_LIST List,
|
||||
__in PPVOID Items,
|
||||
__in ULONG Count
|
||||
);
|
||||
|
||||
VOID PhClearList(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhClearList(
|
||||
__inout PPH_LIST List
|
||||
);
|
||||
|
||||
__success(return != -1)
|
||||
ULONG PhIndexOfListItem(
|
||||
PHLIBAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
PhIndexOfListItem(
|
||||
__in PPH_LIST List,
|
||||
__in PVOID Item
|
||||
);
|
||||
|
||||
VOID PhInsertListItem(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInsertListItem(
|
||||
__inout PPH_LIST List,
|
||||
__in ULONG Index,
|
||||
__in PVOID Item
|
||||
);
|
||||
|
||||
VOID PhInsertListItems(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInsertListItems(
|
||||
__inout PPH_LIST List,
|
||||
__in ULONG Index,
|
||||
__in PPVOID Items,
|
||||
__in ULONG Count
|
||||
);
|
||||
|
||||
VOID PhRemoveListItem(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhRemoveListItem(
|
||||
__inout PPH_LIST List,
|
||||
__in ULONG Index
|
||||
);
|
||||
|
||||
VOID PhRemoveListItems(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhRemoveListItems(
|
||||
__inout PPH_LIST List,
|
||||
__in ULONG StartIndex,
|
||||
__in ULONG Count
|
||||
@@ -1548,7 +1738,10 @@ typedef INT (NTAPI *PPH_COMPARE_FUNCTION)(
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
VOID PhSortList(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhSortList(
|
||||
__in PPH_LIST List,
|
||||
__in PPH_COMPARE_FUNCTION CompareFunction,
|
||||
__in PVOID Context
|
||||
@@ -1899,21 +2092,33 @@ C_ASSERT(FIELD_OFFSET(PH_FREE_LIST_ENTRY, ListEntry) == 0x0);
|
||||
C_ASSERT(FIELD_OFFSET(PH_FREE_LIST_ENTRY, Body) == 0x10);
|
||||
#endif
|
||||
|
||||
VOID PhInitializeFreeList(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeFreeList(
|
||||
__out PPH_FREE_LIST FreeList,
|
||||
__in SIZE_T Size,
|
||||
__in ULONG MaximumCount
|
||||
);
|
||||
|
||||
VOID PhDeleteFreeList(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteFreeList(
|
||||
__inout PPH_FREE_LIST FreeList
|
||||
);
|
||||
|
||||
PVOID PhAllocateFromFreeList(
|
||||
PHLIBAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
PhAllocateFromFreeList(
|
||||
__inout PPH_FREE_LIST FreeList
|
||||
);
|
||||
|
||||
VOID PhFreeToFreeList(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhFreeToFreeList(
|
||||
__inout PPH_FREE_LIST FreeList,
|
||||
__in PVOID Memory
|
||||
);
|
||||
@@ -1973,22 +2178,34 @@ typedef struct _PH_CALLBACK
|
||||
PH_QUEUED_LOCK BusyCondition;
|
||||
} PH_CALLBACK, *PPH_CALLBACK;
|
||||
|
||||
VOID PhInitializeCallback(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeCallback(
|
||||
__out PPH_CALLBACK Callback
|
||||
);
|
||||
|
||||
VOID PhDeleteCallback(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteCallback(
|
||||
__inout PPH_CALLBACK Callback
|
||||
);
|
||||
|
||||
VOID PhRegisterCallback(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhRegisterCallback(
|
||||
__inout PPH_CALLBACK Callback,
|
||||
__in PPH_CALLBACK_FUNCTION Function,
|
||||
__in PVOID Context,
|
||||
__out PPH_CALLBACK_REGISTRATION Registration
|
||||
);
|
||||
|
||||
VOID PhRegisterCallbackEx(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhRegisterCallbackEx(
|
||||
__inout PPH_CALLBACK Callback,
|
||||
__in PPH_CALLBACK_FUNCTION Function,
|
||||
__in PVOID Context,
|
||||
@@ -1996,12 +2213,18 @@ VOID PhRegisterCallbackEx(
|
||||
__out PPH_CALLBACK_REGISTRATION Registration
|
||||
);
|
||||
|
||||
VOID PhUnregisterCallback(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhUnregisterCallback(
|
||||
__inout PPH_CALLBACK Callback,
|
||||
__inout PPH_CALLBACK_REGISTRATION Registration
|
||||
);
|
||||
|
||||
VOID PhInvokeCallback(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInvokeCallback(
|
||||
__in PPH_CALLBACK Callback,
|
||||
__in PVOID Parameter
|
||||
);
|
||||
@@ -2046,45 +2269,72 @@ FORCEINLINE VOID PhIncrementMultipleCallbackSync(
|
||||
|
||||
// general
|
||||
|
||||
ULONG PhGetPrimeNumber(
|
||||
PHLIBAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
PhGetPrimeNumber(
|
||||
__in ULONG Minimum
|
||||
);
|
||||
|
||||
ULONG PhRoundUpToPowerOfTwo(
|
||||
PHLIBAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
PhRoundUpToPowerOfTwo(
|
||||
__in ULONG Number
|
||||
);
|
||||
|
||||
ULONG PhExponentiate(
|
||||
PHLIBAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
PhExponentiate(
|
||||
__in ULONG Base,
|
||||
__in ULONG Exponent
|
||||
);
|
||||
|
||||
ULONG64 PhExponentiate64(
|
||||
PHLIBAPI
|
||||
ULONG64
|
||||
NTAPI
|
||||
PhExponentiate64(
|
||||
__in ULONG64 Base,
|
||||
__in ULONG Exponent
|
||||
);
|
||||
|
||||
ULONG PhLog2(
|
||||
PHLIBAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
PhLog2(
|
||||
__in ULONG Exponent
|
||||
);
|
||||
|
||||
BOOLEAN PhHexStringToBuffer(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhHexStringToBuffer(
|
||||
__in PPH_STRING String,
|
||||
__out_bcount(String->Length / sizeof(WCHAR) / 2) PUCHAR Buffer
|
||||
);
|
||||
|
||||
PPH_STRING PhBufferToHexString(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhBufferToHexString(
|
||||
__in PUCHAR Buffer,
|
||||
__in ULONG Length
|
||||
);
|
||||
|
||||
BOOLEAN PhStringToInteger64(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhStringToInteger64(
|
||||
__in PPH_STRINGREF String,
|
||||
__in_opt ULONG Base,
|
||||
__out PLONG64 Integer
|
||||
);
|
||||
|
||||
PPH_STRING PhIntegerToString64(
|
||||
PHLIBAPI
|
||||
PPH_STRING
|
||||
NTAPI
|
||||
PhIntegerToString64(
|
||||
__in LONG64 Integer,
|
||||
__in_opt ULONG Base,
|
||||
__in BOOLEAN Signed
|
||||
@@ -2097,7 +2347,10 @@ PPH_STRING PhIntegerToString64(
|
||||
#define PH_TIMESPAN_HMSM 1
|
||||
#define PH_TIMESPAN_DHMS 2
|
||||
|
||||
VOID PhPrintTimeSpan(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhPrintTimeSpan(
|
||||
__out_ecount(PH_TIMESPAN_STR_LEN_1) PWSTR Destination,
|
||||
__in ULONG64 Ticks,
|
||||
__in_opt ULONG Mode
|
||||
@@ -2149,25 +2402,37 @@ PPH_STRING PhaSubstring(
|
||||
|
||||
// basesupx
|
||||
|
||||
VOID FASTCALL PhxfAddInt32(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhxfAddInt32(
|
||||
__inout __needsAlign(16) PLONG A,
|
||||
__in __needsAlign(16) PLONG B,
|
||||
__in ULONG Count
|
||||
);
|
||||
|
||||
VOID FASTCALL PhxfAddInt32U(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhxfAddInt32U(
|
||||
__inout PLONG A,
|
||||
__in PLONG B,
|
||||
__in ULONG Count
|
||||
);
|
||||
|
||||
VOID FASTCALL PhxfDivideSingleU(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhxfDivideSingleU(
|
||||
__inout PFLOAT A,
|
||||
__in PFLOAT B,
|
||||
__in ULONG Count
|
||||
);
|
||||
|
||||
VOID FASTCALL PhxfDivideSingle2U(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhxfDivideSingle2U(
|
||||
__inout PFLOAT A,
|
||||
__in FLOAT B,
|
||||
__in ULONG Count
|
||||
@@ -2175,11 +2440,17 @@ VOID FASTCALL PhxfDivideSingle2U(
|
||||
|
||||
// error
|
||||
|
||||
NTSTATUS PhDosErrorToNtStatus(
|
||||
PHLIBAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PhDosErrorToNtStatus(
|
||||
__in ULONG DosError
|
||||
);
|
||||
|
||||
BOOLEAN PhNtStatusFileNotFound(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhNtStatusFileNotFound(
|
||||
__in NTSTATUS Status
|
||||
);
|
||||
|
||||
@@ -2209,22 +2480,34 @@ typedef struct _PH_BINARY_TREE
|
||||
|
||||
#define PH_BINARY_TREE_INIT(CompareFunction) { { NULL, NULL, NULL }, 0, CompareFunction }
|
||||
|
||||
VOID PhInitializeBinaryTree(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeBinaryTree(
|
||||
__out PPH_BINARY_TREE Tree,
|
||||
__in PPH_BINARY_TREE_COMPARE_FUNCTION CompareFunction
|
||||
);
|
||||
|
||||
PPH_BINARY_LINKS PhBinaryTreeAdd(
|
||||
PHLIBAPI
|
||||
PPH_BINARY_LINKS
|
||||
NTAPI
|
||||
PhBinaryTreeAdd(
|
||||
__inout PPH_BINARY_TREE Tree,
|
||||
__out PPH_BINARY_LINKS Subject
|
||||
);
|
||||
|
||||
VOID PhBinaryTreeRemove(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhBinaryTreeRemove(
|
||||
__inout PPH_BINARY_TREE Tree,
|
||||
__inout PPH_BINARY_LINKS Subject
|
||||
);
|
||||
|
||||
PPH_BINARY_LINKS PhBinaryTreeSearch(
|
||||
PHLIBAPI
|
||||
PPH_BINARY_LINKS
|
||||
NTAPI
|
||||
PhBinaryTreeSearch(
|
||||
__in PPH_BINARY_TREE Tree,
|
||||
__in PPH_BINARY_LINKS Subject
|
||||
);
|
||||
@@ -2254,22 +2537,34 @@ typedef struct _PH_AVL_TREE
|
||||
|
||||
#define PH_AVL_TREE_INIT(CompareFunction) { { NULL, NULL, NULL, 0 }, 0, CompareFunction }
|
||||
|
||||
VOID PhInitializeAvlTree(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeAvlTree(
|
||||
__out PPH_AVL_TREE Tree,
|
||||
__in PPH_AVL_TREE_COMPARE_FUNCTION CompareFunction
|
||||
);
|
||||
|
||||
PPH_AVL_LINKS PhAvlTreeAdd(
|
||||
PHLIBAPI
|
||||
PPH_AVL_LINKS
|
||||
NTAPI
|
||||
PhAvlTreeAdd(
|
||||
__inout PPH_AVL_TREE Tree,
|
||||
__out PPH_AVL_LINKS Subject
|
||||
);
|
||||
|
||||
VOID PhAvlTreeRemove(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhAvlTreeRemove(
|
||||
__inout PPH_AVL_TREE Tree,
|
||||
__inout PPH_AVL_LINKS Subject
|
||||
);
|
||||
|
||||
PPH_AVL_LINKS PhAvlTreeSearch(
|
||||
PHLIBAPI
|
||||
PPH_AVL_LINKS
|
||||
NTAPI
|
||||
PhAvlTreeSearch(
|
||||
__in PPH_AVL_TREE Tree,
|
||||
__in PPH_AVL_LINKS Subject
|
||||
);
|
||||
@@ -2436,24 +2731,36 @@ typedef struct _PH_WORK_QUEUE_ITEM
|
||||
|
||||
VOID PhWorkQueueInitialization();
|
||||
|
||||
VOID PhInitializeWorkQueue(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeWorkQueue(
|
||||
__out PPH_WORK_QUEUE WorkQueue,
|
||||
__in ULONG MinimumThreads,
|
||||
__in ULONG MaximumThreads,
|
||||
__in ULONG NoWorkTimeout
|
||||
);
|
||||
|
||||
VOID PhDeleteWorkQueue(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteWorkQueue(
|
||||
__inout PPH_WORK_QUEUE WorkQueue
|
||||
);
|
||||
|
||||
VOID PhQueueWorkQueueItem(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhQueueWorkQueueItem(
|
||||
__inout PPH_WORK_QUEUE WorkQueue,
|
||||
__in PTHREAD_START_ROUTINE Function,
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
VOID PhQueueGlobalWorkQueueItem(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhQueueGlobalWorkQueueItem(
|
||||
__in PTHREAD_START_ROUTINE Function,
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
@@ -207,6 +207,7 @@ FORCEINLINE LRESULT PhReflectMessage(
|
||||
return 0;
|
||||
}
|
||||
|
||||
PHLIBAPI
|
||||
HWND PhCreateListViewControl(
|
||||
__in HWND ParentHandle,
|
||||
__in INT_PTR Id
|
||||
@@ -234,6 +235,7 @@ FORCEINLINE VOID PhSetListViewStyle(
|
||||
);
|
||||
}
|
||||
|
||||
PHLIBAPI
|
||||
INT PhAddListViewColumn(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
@@ -244,6 +246,7 @@ INT PhAddListViewColumn(
|
||||
__in PWSTR Text
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
INT PhAddListViewItem(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
@@ -251,47 +254,55 @@ INT PhAddListViewItem(
|
||||
__in PVOID Param
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
INT PhFindListViewItemByFlags(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT StartIndex,
|
||||
__in ULONG Flags
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
INT PhFindListViewItemByParam(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT StartIndex,
|
||||
__in PVOID Param
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
LOGICAL PhGetListViewItemImageIndex(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
__out PINT ImageIndex
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
LOGICAL PhGetListViewItemParam(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
__out PPVOID Param
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhRemoveListViewItem(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetListViewItemImageIndex(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
__in INT ImageIndex
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetListViewItemStateImage(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
__in INT StateImage
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetListViewSubItem(
|
||||
__in HWND ListViewHandle,
|
||||
__in INT Index,
|
||||
@@ -299,19 +310,23 @@ VOID PhSetListViewSubItem(
|
||||
__in PWSTR Text
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
BOOLEAN PhLoadListViewColumnSettings(
|
||||
__in HWND ListViewHandle,
|
||||
__in PPH_STRING Settings
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_STRING PhSaveListViewColumnSettings(
|
||||
__in HWND ListViewHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
HWND PhCreateTabControl(
|
||||
__in HWND ParentHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
INT PhAddTabControlTab(
|
||||
__in HWND TabControlHandle,
|
||||
__in INT Index,
|
||||
@@ -321,26 +336,31 @@ INT PhAddTabControlTab(
|
||||
#define PHA_GET_DLGITEM_TEXT(hwndDlg, id) \
|
||||
((PPH_STRING)PHA_DEREFERENCE(PhGetWindowText(GetDlgItem(hwndDlg, id))))
|
||||
|
||||
PHLIBAPI
|
||||
PPH_STRING PhGetWindowText(
|
||||
__in HWND hwnd
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhAddComboBoxStrings(
|
||||
__in HWND hWnd,
|
||||
__in PWSTR *Strings,
|
||||
__in ULONG NumberOfStrings
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_STRING PhGetComboBoxString(
|
||||
__in HWND hwnd,
|
||||
__in INT Index
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_STRING PhGetListBoxString(
|
||||
__in HWND hwnd,
|
||||
__in INT Index
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhShowContextMenu(
|
||||
__in HWND hwnd,
|
||||
__in HWND subHwnd,
|
||||
@@ -348,6 +368,7 @@ VOID PhShowContextMenu(
|
||||
__in POINT point
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
UINT PhShowContextMenu2(
|
||||
__in HWND hwnd,
|
||||
__in HWND subHwnd,
|
||||
@@ -355,6 +376,7 @@ UINT PhShowContextMenu2(
|
||||
__in POINT point
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetMenuItemBitmap(
|
||||
__in HMENU Menu,
|
||||
__in ULONG Item,
|
||||
@@ -362,39 +384,46 @@ VOID PhSetMenuItemBitmap(
|
||||
__in HBITMAP Bitmap
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetRadioCheckMenuItem(
|
||||
__in HMENU Menu,
|
||||
__in ULONG Id,
|
||||
__in BOOLEAN RadioCheck
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhEnableMenuItem(
|
||||
__in HMENU Menu,
|
||||
__in ULONG Id,
|
||||
__in BOOLEAN Enable
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhEnableAllMenuItems(
|
||||
__in HMENU Menu,
|
||||
__in BOOLEAN Enable
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetStateAllListViewItems(
|
||||
__in HWND hWnd,
|
||||
__in ULONG State,
|
||||
__in ULONG Mask
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PVOID PhGetSelectedListViewItemParam(
|
||||
__in HWND hWnd
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhGetSelectedListViewItemParams(
|
||||
__in HWND hWnd,
|
||||
__out PVOID **Items,
|
||||
__out PULONG NumberOfItems
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetImageListBitmap(
|
||||
__in HIMAGELIST ImageList,
|
||||
__in INT Index,
|
||||
@@ -429,11 +458,13 @@ VOID PhImageListWrapperRemove(
|
||||
__in INT Index
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetClipboardString(
|
||||
__in HWND hWnd,
|
||||
__in PPH_STRINGREF String
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetClipboardStringEx(
|
||||
__in HWND hWnd,
|
||||
__in PWSTR Buffer,
|
||||
@@ -475,15 +506,18 @@ typedef struct _PH_LAYOUT_MANAGER
|
||||
ULONG LayoutNumber;
|
||||
} PH_LAYOUT_MANAGER, *PPH_LAYOUT_MANAGER;
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhInitializeLayoutManager(
|
||||
__out PPH_LAYOUT_MANAGER Manager,
|
||||
__in HWND RootWindowHandle
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhDeleteLayoutManager(
|
||||
__inout PPH_LAYOUT_MANAGER Manager
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_LAYOUT_ITEM PhAddLayoutItem(
|
||||
__inout PPH_LAYOUT_MANAGER Manager,
|
||||
__in HWND Handle,
|
||||
@@ -491,6 +525,7 @@ PPH_LAYOUT_ITEM PhAddLayoutItem(
|
||||
__in ULONG Anchor
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_LAYOUT_ITEM PhAddLayoutItemEx(
|
||||
__inout PPH_LAYOUT_MANAGER Manager,
|
||||
__in HWND Handle,
|
||||
@@ -499,6 +534,7 @@ PPH_LAYOUT_ITEM PhAddLayoutItemEx(
|
||||
__in RECT Margin
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhLayoutManagerLayout(
|
||||
__inout PPH_LAYOUT_MANAGER Manager
|
||||
);
|
||||
@@ -549,6 +585,7 @@ FORCEINLINE VOID PhCopyControlRectangle(
|
||||
|
||||
// icotobmp
|
||||
|
||||
PHLIBAPI
|
||||
HBITMAP PhIconToBitmap(
|
||||
__in HICON Icon,
|
||||
__in ULONG Width,
|
||||
@@ -617,10 +654,12 @@ typedef HFONT (NTAPI *PPH_EXTLV_GET_ITEM_FONT)(
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetExtendedListView(
|
||||
__in HWND hWnd
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhSetHeaderSortIcon(
|
||||
__in HWND hwnd,
|
||||
__in INT Index,
|
||||
@@ -787,6 +826,7 @@ typedef struct _PH_ACCESS_ENTRY
|
||||
|
||||
VOID PhSecurityEditorInitialization();
|
||||
|
||||
PHLIBAPI
|
||||
HPROPSHEETPAGE PhCreateSecurityPage(
|
||||
__in PWSTR ObjectName,
|
||||
__in PPH_GET_OBJECT_SECURITY GetObjectSecurity,
|
||||
@@ -796,6 +836,7 @@ HPROPSHEETPAGE PhCreateSecurityPage(
|
||||
__in ULONG NumberOfAccessEntries
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
VOID PhEditSecurity(
|
||||
__in HWND hWnd,
|
||||
__in PWSTR ObjectName,
|
||||
@@ -869,18 +910,21 @@ FORCEINLINE ACCESS_MASK PhGetAccessForSetSecurity(
|
||||
return access;
|
||||
}
|
||||
|
||||
PHLIBAPI
|
||||
__callback NTSTATUS PhStdGetObjectSecurity(
|
||||
__out PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
||||
__in SECURITY_INFORMATION SecurityInformation,
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
__callback NTSTATUS PhStdSetObjectSecurity(
|
||||
__in PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
__in SECURITY_INFORMATION SecurityInformation,
|
||||
__in PVOID Context
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS PhGetSeObjectSecurity(
|
||||
__in HANDLE Handle,
|
||||
__in SE_OBJECT_TYPE ObjectType,
|
||||
@@ -888,6 +932,7 @@ NTSTATUS PhGetSeObjectSecurity(
|
||||
__out PSECURITY_DESCRIPTOR *SecurityDescriptor
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
NTSTATUS PhSetSeObjectSecurity(
|
||||
__in HANDLE Handle,
|
||||
__in SE_OBJECT_TYPE ObjectType,
|
||||
@@ -897,12 +942,14 @@ NTSTATUS PhSetSeObjectSecurity(
|
||||
|
||||
// secdata
|
||||
|
||||
PHLIBAPI
|
||||
BOOLEAN PhGetAccessEntries(
|
||||
__in PWSTR Type,
|
||||
__out PPH_ACCESS_ENTRY *AccessEntries,
|
||||
__out PULONG NumberOfAccessEntries
|
||||
);
|
||||
|
||||
PHLIBAPI
|
||||
PPH_STRING PhGetAccessString(
|
||||
__in ACCESS_MASK Access,
|
||||
__in PPH_ACCESS_ENTRY AccessEntries,
|
||||
|
||||
@@ -61,55 +61,88 @@ FORCEINLINE VOID PhInitializeQueuedLock(
|
||||
QueuedLock->Value = 0;
|
||||
}
|
||||
|
||||
VOID FASTCALL PhfAcquireQueuedLockExclusive(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfAcquireQueuedLockExclusive(
|
||||
__inout PPH_QUEUED_LOCK QueuedLock
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfAcquireQueuedLockShared(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfAcquireQueuedLockShared(
|
||||
__inout PPH_QUEUED_LOCK QueuedLock
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfReleaseQueuedLockExclusive(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfReleaseQueuedLockExclusive(
|
||||
__inout PPH_QUEUED_LOCK QueuedLock
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfReleaseQueuedLockShared(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfReleaseQueuedLockShared(
|
||||
__inout PPH_QUEUED_LOCK QueuedLock
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfTryWakeQueuedLock(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfTryWakeQueuedLock(
|
||||
__inout PPH_QUEUED_LOCK QueuedLock
|
||||
);
|
||||
|
||||
#define PhPulseCondition PhfPulseCondition
|
||||
VOID FASTCALL PhfPulseCondition(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfPulseCondition(
|
||||
__inout PPH_QUEUED_LOCK Condition
|
||||
);
|
||||
|
||||
#define PhPulseAllCondition PhfPulseAllCondition
|
||||
VOID FASTCALL PhfPulseAllCondition(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfPulseAllCondition(
|
||||
__inout PPH_QUEUED_LOCK Condition
|
||||
);
|
||||
|
||||
#define PhWaitForCondition PhfWaitForCondition
|
||||
VOID FASTCALL PhfWaitForCondition(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfWaitForCondition(
|
||||
__inout PPH_QUEUED_LOCK Condition,
|
||||
__inout_opt PPH_QUEUED_LOCK Lock,
|
||||
__in_opt PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
#define PhQueueWakeEvent PhfQueueWakeEvent
|
||||
VOID FASTCALL PhfQueueWakeEvent(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfQueueWakeEvent(
|
||||
__inout PPH_QUEUED_LOCK WakeEvent,
|
||||
__out PPH_QUEUED_WAIT_BLOCK WaitBlock
|
||||
);
|
||||
|
||||
VOID FASTCALL PhfSetWakeEvent(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
PhfSetWakeEvent(
|
||||
__inout PPH_QUEUED_LOCK WakeEvent
|
||||
);
|
||||
|
||||
#define PhWaitForWakeEvent PhfWaitForWakeEvent
|
||||
NTSTATUS FASTCALL PhfWaitForWakeEvent(
|
||||
PHLIBAPI
|
||||
NTSTATUS
|
||||
FASTCALL
|
||||
PhfWaitForWakeEvent(
|
||||
__inout PPH_QUEUED_LOCK WakeEvent,
|
||||
__inout PPH_QUEUED_WAIT_BLOCK WaitBlock,
|
||||
__in_opt PLARGE_INTEGER Timeout
|
||||
|
||||
@@ -120,39 +120,65 @@ NTSTATUS PhCreateObjectTypeEx(
|
||||
__in_opt PPH_OBJECT_TYPE_PARAMETERS Parameters
|
||||
);
|
||||
|
||||
VOID PhDereferenceObject(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDereferenceObject(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
BOOLEAN PhDereferenceObjectDeferDelete(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhDereferenceObjectDeferDelete(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
__mayRaise LONG PhDereferenceObjectEx(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
LONG
|
||||
NTAPI
|
||||
PhDereferenceObjectEx(
|
||||
__in PVOID Object,
|
||||
__in LONG RefCount,
|
||||
__in BOOLEAN DeferDelete
|
||||
);
|
||||
|
||||
PPH_OBJECT_TYPE PhGetObjectType(
|
||||
PHLIBAPI
|
||||
PPH_OBJECT_TYPE
|
||||
NTAPI
|
||||
PhGetObjectType(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
VOID PhGetObjectTypeInformation(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhGetObjectTypeInformation(
|
||||
__in PPH_OBJECT_TYPE ObjectType,
|
||||
__out PPH_OBJECT_TYPE_INFORMATION Information
|
||||
);
|
||||
|
||||
VOID PhReferenceObject(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhReferenceObject(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
__mayRaise LONG PhReferenceObjectEx(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
LONG
|
||||
NTAPI
|
||||
PhReferenceObjectEx(
|
||||
__in PVOID Object,
|
||||
__in LONG RefCount
|
||||
);
|
||||
|
||||
BOOLEAN PhReferenceObjectSafe(
|
||||
PHLIBAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PhReferenceObjectSafe(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
@@ -198,7 +224,10 @@ FORCEINLINE VOID PhSwapReference2(
|
||||
if (oldObject) PhDereferenceObject(oldObject);
|
||||
}
|
||||
|
||||
NTSTATUS PhCreateAlloc(
|
||||
PHLIBAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PhCreateAlloc(
|
||||
__out PVOID *Alloc,
|
||||
__in SIZE_T Size
|
||||
);
|
||||
@@ -230,19 +259,33 @@ typedef struct _PH_AUTO_POOL
|
||||
struct _PH_AUTO_POOL *NextPool;
|
||||
} PH_AUTO_POOL, *PPH_AUTO_POOL;
|
||||
|
||||
VOID PhInitializeAutoPool(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhInitializeAutoPool(
|
||||
__out PPH_AUTO_POOL AutoPool
|
||||
);
|
||||
|
||||
__mayRaise VOID PhDeleteAutoPool(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDeleteAutoPool(
|
||||
__inout PPH_AUTO_POOL AutoPool
|
||||
);
|
||||
|
||||
__mayRaise VOID PhaDereferenceObject(
|
||||
__mayRaise
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhaDereferenceObject(
|
||||
__in PVOID Object
|
||||
);
|
||||
|
||||
VOID PhDrainAutoPool(
|
||||
PHLIBAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PhDrainAutoPool(
|
||||
__in PPH_AUTO_POOL AutoPool
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user