101 ListHead = &
Process->ThreadListHead;
102 while (ListHead !=
Entry)
142 Entry = OldProcess->ActiveProcessLinks.Flink;
179 UCHAR LocalQuantum, MemoryPriority;
227 *Quantum = LocalQuantum;
244 "%lx PrioritySeparation: %lx\n", Immediate, PrioritySeparation);
311 i = (
Process->Vm.Flags.MemoryPriority ==
359 PVOID ExceptionPortObject;
381 "ProcessHandle: %p Parent: %p\n",
ProcessHandle, ParentProcess);
399 if ((InJob) && (!
Parent->Job))
437 Process->ProcessLock.Value = 0;
452 Process->InheritedFromUniqueProcessId =
Parent->UniqueProcessId;
453 Process->DefaultHardErrorProcessing =
Parent->DefaultHardErrorProcessing;
514 (
PVOID*)&DebugObject,
519 Process->DebugPort = DebugObject;
542 (
PVOID*)&ExceptionPortObject,
547 Process->ExceptionPort = ExceptionPortObject;
581 Process->Vm.MaximumWorkingSetSize = MaxWs;
634 SeAuditProcessCreationInfo.
659 Flags &= ~PROCESS_CREATE_FLAGS_LARGE_PAGES;
668 Process->SeAuditProcessCreationInfo.ImageFileName =
672 if (!
Process->SeAuditProcessCreationInfo.ImageFileName)
716 DPRINT1(
"Jobs not yet supported\n");
720 if ((
Parent) && (NeedsPeb))
786 Process->Pcb.QuantumReset = Quantum;
856 CurrentThread->
Tcb.
Teb->NtTib.ArbitraryUserPointer =
Process->Peb;
934 FoundProcess = CidEntry->
Object;
977 FoundThread = CidEntry->
Object;
993 *
Process = FoundThread->ThreadsProcess;
1085 return Process->InheritedFromUniqueProcessId;
1115 return Process->PriorityClass;
1145 return Process->SectionBaseAddress;
1205 return Process->Win32WindowStation;
1235 ULONG PriorityClass)
1248 Process->SecurityPort = SecurityPort;
1272 if (Win32Process !=
NULL)
1279 Process->Win32Process = Win32Process;
1290 if (
Process->Win32Process == OldWin32Process)
1315 PVOID WindowStation)
1317 Process->Win32WindowStation = WindowStation;
1358 "ParentProcess: %p Flags: %lx\n", ParentProcess,
Flags);
#define DbgkDebugObjectType
BOOLEAN NTAPI SeAccessCheck(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext, _In_ BOOLEAN SubjectContextLocked, _In_ ACCESS_MASK DesiredAccess, _In_ ACCESS_MASK PreviouslyGrantedAccess, _Out_ PPRIVILEGE_SET *Privileges, _In_ PGENERIC_MAPPING GenericMapping, _In_ KPROCESSOR_MODE AccessMode, _Out_ PACCESS_MASK GrantedAccess, _Out_ PNTSTATUS AccessStatus)
Determines whether security access rights can be given to an object depending on the security descrip...
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
VOID NTAPI DbgkCopyProcessDebugPort(IN PEPROCESS Process, IN PEPROCESS Parent)
#define DEBUG_OBJECT_ADD_REMOVE_PROCESS
#define NT_SUCCESS(StatCode)
static const WCHAR Cleanup[]
#define InsertTailList(ListHead, Entry)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define IsListEmpty(ListHead)
#define PsGetCurrentThread()
#define KeQuerySystemTime(t)
#define InitializeListHead(ListHead)
#define ExReleaseRundownProtection
#define ExGetPreviousMode
#define ExInitializeRundownProtection
FORCEINLINE VOID ExAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
FORCEINLINE VOID ExAcquirePushLockShared(PEX_PUSH_LOCK PushLock)
FORCEINLINE VOID ExReleasePushLockShared(PEX_PUSH_LOCK PushLock)
FORCEINLINE VOID ExReleasePushLockExclusive(PEX_PUSH_LOCK PushLock)
#define ExAcquireRundownProtection
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
#define BooleanFlagOn(F, SF)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG _In_ PFLT_CALLBACK_DATA _In_opt_ PCHECK_FOR_TRAVERSE_ACCESS _In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectContext
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
_Must_inspect_result_ _Outptr_ PVOID * SectionObject
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID FASTCALL KeReleaseGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
VOID FASTCALL KeAcquireGuardedMutex(IN PKGUARDED_MUTEX GuardedMutex)
#define PROCESS_TERMINATE
#define PSF_PROCESS_DELETE_BIT
#define PROCESS_CREATE_FLAGS_BREAKAWAY
#define PROCESS_QUERY_INFORMATION
#define PROCESS_PRIORITY_CLASS_IDLE
#define PROCESS_CREATE_FLAGS_INHERIT_HANDLES
#define PROCESS_CREATE_THREAD
#define PSP_VARIABLE_QUANTUMS
#define PROCESS_PRIORITY_CLASS_NORMAL
#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL
#define PSP_LONG_QUANTUMS
#define PSF_NO_DEBUG_INHERIT_BIT
enum _PSPROCESSPRIORITYMODE PSPROCESSPRIORITYMODE
#define PROCESS_VM_OPERATION
#define PSP_FIXED_QUANTUMS
@ PsProcessPrioritySpinning
@ PsProcessPriorityForeground
@ PsProcessPriorityBackground
#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL
#define PROCESS_SET_INFORMATION
#define PROCESS_PRIORITY_NORMAL
#define PROCESS_CREATE_PROCESS
#define PSF_HAS_ADDRESS_SPACE_BIT
#define PROCESS_CREATE_FLAGS_LEGAL_MASK
#define PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT
#define MEMORY_PRIORITY_BACKGROUND
#define PSP_SHORT_QUANTUMS
#define PROCESS_SET_QUOTA
#define MEMORY_PRIORITY_FOREGROUND
#define EXCEPTION_EXECUTE_HANDLER
#define PROCESS_DUP_HANDLE
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
POBJECT_TYPE LpcPortObjectType
_In_ BOOL _In_ HANDLE hProcess
#define memcpy(s1, s2, n)
BOOLEAN NTAPI MmIsThisAnNtAsSystem(VOID)
#define KeGetPreviousMode()
_In_ HANDLE ProcessHandle
#define SEM_NOALIGNMENTFAULTEXCEPT
#define SEM_FAILCRITICALERRORS
#define SECTION_MAP_EXECUTE
#define ASSERTMSG(msg, exp)
#define PROCESS_ALL_ACCESS
#define STANDARD_RIGHTS_ALL
HANDLE NTAPI ExCreateHandle(IN PHANDLE_TABLE HandleTable, IN PHANDLE_TABLE_ENTRY HandleTableEntry)
PHANDLE_TABLE_ENTRY NTAPI ExMapHandleToPointer(IN PHANDLE_TABLE HandleTable, IN HANDLE Handle)
VOID NTAPI ExUnlockHandleTableEntry(IN PHANDLE_TABLE HandleTable, IN PHANDLE_TABLE_ENTRY HandleTableEntry)
KAFFINITY KeActiveProcessors
VOID NTAPI KeSetQuantumProcess(IN PKPROCESS Process, IN UCHAR Quantum)
VOID NTAPI KeInitializeProcess(struct _KPROCESS *Process, KPRIORITY Priority, KAFFINITY Affinity, PULONG_PTR DirectoryTableBase, IN BOOLEAN Enable)
KPRIORITY NTAPI KeSetPriorityAndQuantumProcess(IN PKPROCESS Process, IN KPRIORITY Priority, IN UCHAR Quantum OPTIONAL)
NTSTATUS NTAPI MmInitializeHandBuiltProcess2(IN PEPROCESS Process)
FORCEINLINE PMMPFN MiGetPfnEntry(IN PFN_NUMBER Pfn)
NTSTATUS NTAPI MmInitializeProcessAddressSpace(IN PEPROCESS Process, IN PEPROCESS Clone OPTIONAL, IN PVOID Section OPTIONAL, IN OUT PULONG Flags, IN POBJECT_NAME_INFORMATION *AuditName OPTIONAL)
ULONG NTAPI MmGetSessionId(IN PEPROCESS Process)
ULONG NTAPI MmGetSessionIdEx(IN PEPROCESS Process)
NTSTATUS NTAPI MmCreatePeb(IN PEPROCESS Process, IN PINITIAL_PEB InitialPeb, OUT PPEB *BasePeb)
NTSTATUS NTAPI MmInitializeHandBuiltProcess(IN PEPROCESS Process, IN PULONG_PTR DirectoryTableBase)
NTSTATUS NTAPI MmSetMemoryPriorityProcess(IN PEPROCESS Process, IN UCHAR MemoryPriority)
BOOLEAN NTAPI MmCreateProcessAddressSpace(IN ULONG MinWs, IN PEPROCESS Dest, IN PULONG_PTR DirectoryTableBase)
const LUID SeDebugPrivilege
NTSTATUS NTAPI SeCreateAccessStateEx(_In_ PETHREAD Thread, _In_ PEPROCESS Process, _In_ OUT PACCESS_STATE AccessState, _In_ PAUX_ACCESS_DATA AuxData, _In_ ACCESS_MASK Access, _In_ PGENERIC_MAPPING GenericMapping)
BOOLEAN NTAPI SeDetailedAuditingWithToken(_In_ PTOKEN Token)
Peforms a detailed security auditing with an access token.
VOID NTAPI SeAuditProcessCreate(_In_ PEPROCESS Process)
Peforms a security auditing against a process that is about to be created.
NTSTATUS NTAPI PsCreateSystemProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
VOID NTAPI PsSetProcessPriorityClass(PEPROCESS Process, ULONG PriorityClass)
HANDLE NTAPI PsGetProcessInheritedFromUniqueProcessId(PEPROCESS Process)
BOOLEAN NTAPI PsIsSystemProcess(IN PEPROCESS Process)
PVOID NTAPI PsGetProcessWin32Process(PEPROCESS Process)
PPEB NTAPI PsGetProcessPeb(PEPROCESS Process)
PEPROCESS NTAPI PsGetNextProcess(IN PEPROCESS OldProcess)
CHAR PspForegroundQuantum[3]
LPSTR NTAPI PsGetProcessImageFileName(PEPROCESS Process)
NTSTATUS NTAPI PsSetProcessWin32Process(_Inout_ PEPROCESS Process, _In_opt_ PVOID Win32Process, _In_opt_ PVOID OldWin32Process)
PVOID NTAPI PsGetProcessSecurityPort(PEPROCESS Process)
ULONG NTAPI PsGetProcessPriorityClass(PEPROCESS Process)
NTSTATUS NTAPI NtCreateProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ParentProcess, IN BOOLEAN InheritObjectTable, IN HANDLE SectionHandle OPTIONAL, IN HANDLE DebugPort OPTIONAL, IN HANDLE ExceptionPort OPTIONAL)
BOOLEAN NTAPI PsGetProcessExitProcessCalled(PEPROCESS Process)
NTSTATUS NTAPI NtCreateProcessEx(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ParentProcess, IN ULONG Flags, IN HANDLE SectionHandle OPTIONAL, IN HANDLE DebugPort OPTIONAL, IN HANDLE ExceptionPort OPTIONAL, IN BOOLEAN InJob)
POBJECT_TYPE PsProcessType
KPRIORITY NTAPI PspComputeQuantumAndPriority(IN PEPROCESS Process, IN PSPROCESSPRIORITYMODE Mode, OUT PUCHAR Quantum)
NTSTATUS NTAPI PsLookupProcessThreadByCid(IN PCLIENT_ID Cid, OUT PEPROCESS *Process OPTIONAL, OUT PETHREAD *Thread)
ULONG PsMaximumWorkingSet
BOOLEAN NTAPI PsIsProcessBeingDebugged(PEPROCESS Process)
ULONG NTAPI PsGetProcessSessionId(IN PEPROCESS Process)
ULONG NTAPI PsGetProcessSessionIdEx(IN PEPROCESS Process)
NTSTATUS NTAPI PsLookupProcessByProcessId(IN HANDLE ProcessId, OUT PEPROCESS *Process)
NTSTATUS NTAPI PspCreateProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ParentProcess OPTIONAL, IN ULONG Flags, IN HANDLE SectionHandle OPTIONAL, IN HANDLE DebugPort OPTIONAL, IN HANDLE ExceptionPort OPTIONAL, IN BOOLEAN InJob)
ULONG PsMinimumWorkingSet
PETHREAD NTAPI PsGetNextProcessThread(IN PEPROCESS Process, IN PETHREAD Thread OPTIONAL)
NTSTATUS NTAPI PsSetProcessSecurityPort(PEPROCESS Process, PVOID SecurityPort)
LIST_ENTRY PsActiveProcessHead
PEJOB NTAPI PsGetProcessJob(PEPROCESS Process)
VOID NTAPI PsSetProcessWindowStation(PEPROCESS Process, PVOID WindowStation)
ULONG PsPrioritySeparation
VOID NTAPI PsChangeQuantumTable(IN BOOLEAN Immediate, IN ULONG PrioritySeparation)
NTSTATUS NTAPI PsGetProcessExitStatus(PEPROCESS Process)
LONGLONG NTAPI PsGetProcessCreateTimeQuadPart(PEPROCESS Process)
CHAR PspVariableQuantums[6]
PVOID NTAPI PsGetCurrentProcessWin32Process(VOID)
HANDLE NTAPI PsGetCurrentProcessId(VOID)
ULONG PsRawPrioritySeparation
LARGE_INTEGER ShortPsLockDelay
VOID NTAPI PsSetProcessPriorityByClass(IN PEPROCESS Process, IN PSPROCESSPRIORITYMODE Type)
HANDLE NTAPI PsGetProcessId(PEPROCESS Process)
PVOID NTAPI PsGetProcessDebugPort(PEPROCESS Process)
PVOID NTAPI PsGetProcessSectionBaseAddress(PEPROCESS Process)
KPRIORITY PspPriorityTable[PROCESS_PRIORITY_CLASS_ABOVE_NORMAL+1]
PVOID NTAPI PsGetProcessWin32WindowStation(PEPROCESS Process)
KGUARDED_MUTEX PspActiveProcessMutex
ULONG NTAPI PsGetCurrentProcessSessionId(VOID)
NTSTATUS NTAPI NtOpenProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PCLIENT_ID ClientId)
LARGE_INTEGER NTAPI PsGetProcessExitTime(VOID)
PACCESS_TOKEN NTAPI PsReferencePrimaryToken(PEPROCESS Process)
VOID NTAPI SeDeleteAccessState(_In_ PACCESS_STATE AccessState)
Deletes an allocated access state from the memory.
NTSTATUS NTAPI SeCreateAccessState(_Out_ PACCESS_STATE AccessState, _Out_ __drv_aliasesMem PAUX_ACCESS_DATA AuxData, _In_ ACCESS_MASK Access, _In_ PGENERIC_MAPPING GenericMapping)
Creates an access state.
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
#define STATUS_INVALID_CID
#define STATUS_INVALID_PARAMETER_MIX
#define STATUS_PROCESS_IS_TERMINATING
VOID NTAPI ObInheritDeviceMap(IN PEPROCESS Parent, IN PEPROCESS Process)
BOOLEAN FASTCALL ObReferenceObjectSafe(IN PVOID Object)
VOID FASTCALL ObFastDereferenceObject(IN PEX_FAST_REF FastRef, IN PVOID Object)
NTSTATUS NTAPI ObInitProcess(IN PEPROCESS Parent OPTIONAL, IN PEPROCESS Process)
FORCEINLINE ULONG ObpValidateAttributes(IN ULONG Attributes, IN KPROCESSOR_MODE PreviousMode)
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
NTSTATUS NTAPI ObOpenObjectByPointer(IN PVOID Object, IN ULONG HandleAttributes, IN PACCESS_STATE PassedAccessState, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PHANDLE Handle)
NTSTATUS NTAPI ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN PACCESS_STATE PassedAccessState, IN ACCESS_MASK DesiredAccess, IN OUT PVOID ParseContext, OUT PHANDLE Handle)
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
NTSTATUS NTAPI ObGetObjectSecurity(IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated)
VOID NTAPI ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated)
#define PSTRACE(x, fmt,...)
NTSTATUS NTAPI PspInitializeProcessSecurity(IN PEPROCESS Process, IN PEPROCESS Parent OPTIONAL)
PHANDLE_TABLE PspCidTable
BOOLEAN PspUseJobSchedulingClasses
CHAR PspJobSchedulingClasses[PSP_JOB_SCHEDULING_CLASSES]
NTSTATUS NTAPI PspMapSystemDll(IN PEPROCESS Process, OUT PVOID *DllBase, IN BOOLEAN UseLargePages)
VOID NTAPI PspInheritQuota(_In_ PEPROCESS Process, _In_ PEPROCESS ParentProcess)
#define PspPrioritySeparationFromMask(Mask)
FORCEINLINE VOID PspRunCreateProcessNotifyRoutines(IN PEPROCESS CurrentProcess, IN BOOLEAN Create)
#define PspQuantumTypeFromMask(Mask)
#define PspQuantumLengthFromMask(Mask)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
PEPROCESS PsInitialSystemProcess
#define ProbeForWriteHandle(Ptr)
POBJECT_TYPE MmSectionObjectType
PULONG MinorVersion OPTIONAL
base of all file and directory entries
PHANDLE_TABLE ObjectTable
LIST_ENTRY ThreadListEntry
BOOLEAN ImageUsesLargePages
struct _LIST_ENTRY * Flink
GENERIC_MAPPING GenericMapping
OBJECT_TYPE_INITIALIZER TypeInfo
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_Must_inspect_result_ _In_ ULONG Flags
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
_Out_ PCLIENT_ID ClientId
#define ObDereferenceObject
#define ObReferenceObject
#define PsGetCurrentProcess
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK _Out_ PNTSTATUS AccessStatus
_In_ KPROCESSOR_MODE PreviousMode
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState