mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
updated ALPC definitions
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@3831 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
@@ -572,14 +572,6 @@ typedef struct _WORKER_FACTORY_BASIC_INFORMATION
|
||||
NTSTATUS CreateThreadStatus;
|
||||
} WORKER_FACTORY_BASIC_INFORMATION, *PWORKER_FACTORY_BASIC_INFORMATION;
|
||||
|
||||
typedef struct _IO_COMPLETION_MINIPACKET
|
||||
{
|
||||
PVOID KeyContext;
|
||||
PVOID ApcContext;
|
||||
NTSTATUS IoStatus;
|
||||
ULONG_PTR IoStatusInformation;
|
||||
} IO_COMPLETION_MINIPACKET, *PIO_COMPLETION_MINIPACKET;
|
||||
|
||||
#if (PHNT_VERSION >= PHNT_VISTA)
|
||||
|
||||
NTSYSCALLAPI
|
||||
@@ -641,12 +633,14 @@ NtWorkerFactoryWorkerReady(
|
||||
__in HANDLE WorkerFactoryHandle
|
||||
);
|
||||
|
||||
struct _IO_COMPLETION_MINIPACKET;
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWaitForWorkViaWorkerFactory(
|
||||
__in HANDLE WorkerFactoryHandle,
|
||||
__out PIO_COMPLETION_MINIPACKET MiniPacket
|
||||
__out struct _IO_COMPLETION_MINIPACKET *MiniPacket
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -155,6 +155,15 @@ typedef VOID (NTAPI *PIO_APC_ROUTINE)(
|
||||
__in ULONG Reserved
|
||||
);
|
||||
|
||||
// rev
|
||||
// Used for worker factory objects
|
||||
typedef struct _IO_COMPLETION_MINIPACKET
|
||||
{
|
||||
PVOID KeyContext;
|
||||
PVOID ApcContext;
|
||||
IO_STATUS_BLOCK Iosb;
|
||||
} IO_COMPLETION_MINIPACKET, *PIO_COMPLETION_MINIPACKET;
|
||||
|
||||
typedef enum _FILE_INFORMATION_CLASS
|
||||
{
|
||||
FileDirectoryInformation = 1,
|
||||
|
||||
@@ -62,7 +62,9 @@ typedef struct _PORT_DATA_INFORMATION
|
||||
#define LPC_ERROR_EVENT 9
|
||||
#define LPC_CONNECTION_REQUEST 10
|
||||
|
||||
#define LPC_KERNELMODE_MESSAGE (CSHORT)0x8000
|
||||
#define LPC_KERNELMODE_MESSAGE (CSHORT)0x8000
|
||||
#define LPC_NO_IMPERSONATE (CSHORT)0x4000
|
||||
|
||||
#define PORT_VALID_OBJECT_ATTRIBUTES OBJ_CASE_INSENSITIVE
|
||||
|
||||
#ifdef _M_IX86
|
||||
@@ -295,6 +297,7 @@ NtQueryInformationPort(
|
||||
// it seems traditional to use a typedef in these cases.
|
||||
typedef PVOID ALPC_HANDLE, *PALPC_HANDLE;
|
||||
|
||||
#define ALPC_PORFLG_ALLOW_LPC_REQUESTS 0x20000
|
||||
#define ALPC_PORFLG_WAITABLE_PORT 0x40000 // dbg
|
||||
#define ALPC_PORFLG_SYSTEM_PROCESS 0x100000 // dbg
|
||||
|
||||
@@ -679,7 +682,7 @@ NtAlpcAcceptConnectPort(
|
||||
__in POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
__in PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
__in_opt PVOID PortContext,
|
||||
__in PPORT_MESSAGE RequestMessage,
|
||||
__in PPORT_MESSAGE ConnectMessage,
|
||||
__inout_opt PALPC_MESSAGE_ATTRIBUTES ReplyMessageAttributes,
|
||||
__in BOOLEAN AcceptConnection
|
||||
);
|
||||
|
||||
@@ -5,19 +5,17 @@
|
||||
|
||||
typedef struct _TP_ALPC TP_ALPC, *PTP_ALPC;
|
||||
|
||||
// unsure
|
||||
typedef VOID (NTAPI *PTP_ALPC_CALLBACK)(
|
||||
__inout PTP_CALLBACK_INSTANCE Instance,
|
||||
__inout_opt PVOID Context,
|
||||
__in PTP_ALPC Alpc // ?
|
||||
__in PTP_ALPC Alpc
|
||||
);
|
||||
|
||||
// unsure
|
||||
typedef VOID (NTAPI *PTP_ALPC_CALLBACK_EX)(
|
||||
__inout PTP_CALLBACK_INSTANCE Instance,
|
||||
__inout_opt PVOID Context,
|
||||
__in PTP_ALPC Alpc, // ?
|
||||
__in PTP_WAIT Wait // ?
|
||||
__in PTP_ALPC Alpc,
|
||||
__in PVOID ApcContext
|
||||
);
|
||||
|
||||
// end_rev
|
||||
|
||||
Reference in New Issue
Block a user