64 Win32ObjectHeader =
Object;
73 if (SessionEntry ==
NULL)
84 DPRINT1(
"Could not attach to 0x%p, object %p, callout 0x%p\n",
100 if (SessionEntry !=
NULL)
103 MmDetachSession(SessionEntry, &
ApcState);
249 Parameters.SystemHandleCount = SystemHandleCount;
264 DPRINT(
"Creating Win32 Object Types\n");
267 RtlZeroMemory(&ObjectTypeInitializer,
sizeof(ObjectTypeInitializer));
269 ObjectTypeInitializer.
Length =
sizeof(ObjectTypeInitializer);
281 &ObjectTypeInitializer,
295 &ObjectTypeInitializer,
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSTATUS(NTAPI * PKWIN32_SESSION_CALLOUT)(_In_ PVOID Parameter)
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
enum _OB_OPEN_REASON OB_OPEN_REASON
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define STANDARD_RIGHTS_READ
#define STANDARD_RIGHTS_WRITE
#define STANDARD_RIGHTS_EXECUTE
#define STANDARD_RIGHTS_REQUIRED
VOID NTAPI MmQuitNextSession(_Inout_ PVOID SessionEntry)
PVOID NTAPI MmGetSessionById(_In_ ULONG SessionId)
_Out_ PKAPC_STATE ApcState
ULONG NTAPI PsGetCurrentProcessSessionId(VOID)
NTSTATUS NTAPI ObCreateObjectType(IN PUNICODE_STRING TypeName, IN POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, IN PVOID Reserved, OUT POBJECT_TYPE *ObjectType)
PULONG MinorVersion OPTIONAL
OB_CLOSE_METHOD CloseProcedure
GENERIC_MAPPING GenericMapping
OB_DELETE_METHOD DeleteProcedure
OB_OPEN_METHOD OpenProcedure
OB_PARSE_METHOD ParseProcedure
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
GENERIC_MAPPING ExpWindowStationMapping
BOOLEAN NTAPI ExpWindowStationOkToClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
GENERIC_MAPPING ExpDesktopMapping
NTSTATUS NTAPI ExpWin32SessionCallout(_In_ PVOID Object, _In_ PKWIN32_SESSION_CALLOUT CalloutProcedure, _Inout_opt_ PVOID Parameter)
struct _WIN32_KERNEL_OBJECT_HEADER * PWIN32_KERNEL_OBJECT_HEADER
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectDelete
NTSTATUS NTAPI ExpWinStaObjectParse(IN PVOID ParseObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object)
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectParse
POBJECT_TYPE ExDesktopObjectType
PKWIN32_SESSION_CALLOUT ExpDesktopObjectDelete
VOID NTAPI ExpWinStaObjectDelete(PVOID DeletedObject)
BOOLEAN NTAPI ExpWin32kInit(VOID)
PKWIN32_SESSION_CALLOUT ExpDesktopObjectClose
BOOLEAN NTAPI ExpDesktopOkToClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
PKWIN32_SESSION_CALLOUT ExpWindowStationObjectOkToClose
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOpen
PKWIN32_SESSION_CALLOUT ExpDesktopObjectOkToClose
VOID NTAPI ExpDesktopClose(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount)
struct _WIN32_KERNEL_OBJECT_HEADER WIN32_KERNEL_OBJECT_HEADER
NTSTATUS NTAPI ExpDesktopOpen(IN OB_OPEN_REASON Reason, IN PEPROCESS Process OPTIONAL, IN PVOID ObjectBody, IN ACCESS_MASK GrantedAccess, IN ULONG HandleCount)
VOID NTAPI ExpDesktopDelete(PVOID DeletedObject)
POBJECT_TYPE ExWindowStationObjectType
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
#define PsGetCurrentProcess
_Inout_opt_ PVOID Parameter
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
_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 GrantedAccess