ReactOS 0.4.17-dev-769-g1500a35
job.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _JOBINFO
 

Typedefs

typedef struct _JOBINFO JOBINFO
 
typedef struct _JOBINFOPJOBINFO
 

Functions

NTSTATUS NTAPI Win32kJobCallout (_In_ PWIN32_JOBCALLOUT_PARAMETERS Parameters)
 
 _Requires_exclusive_lock_held_ (UserLock) NTSTATUS FASTCALL IntJobConnectProcess(_In_ PPROCESSINFO ppi)
 

Typedef Documentation

◆ JOBINFO

◆ PJOBINFO

Function Documentation

◆ _Requires_exclusive_lock_held_()

_Requires_exclusive_lock_held_ ( UserLock  )

Definition at line 50 of file job.c.

54{
55 PJOBINFO pJobInfo;
57
59
61 if (pJobInfo == NULL)
62 {
63 ERR("Failed to allocate a JOBINFO for job %p\n", pEJob);
64 return NULL;
65 }
66
67 Status = RtlCreateAtomTable(37, &pJobInfo->pAtomTable);
68 if (!NT_SUCCESS(Status))
69 {
70 ERR("Failed to create the atom table of job %p: 0x%lx\n", pEJob, Status);
72 return NULL;
73 }
74
75 pJobInfo->pEJob = pEJob;
76
77 pJobInfo->Next = gJobInfoList;
78 gJobInfoList = pJobInfo;
79
80 TRACE("Created JOBINFO %p for job %p\n", pJobInfo, pEJob);
81 return pJobInfo;
82}
LONG NTSTATUS
Definition: precomp.h:26
#define ERR(fmt,...)
Definition: precomp.h:57
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define PagedPool
Definition: env_spec_w32.h:308
Status
Definition: gdiplustypes.h:24
#define ASSERT(a)
Definition: mode.c:44
#define ExFreePoolWithTag(_P, _T)
Definition: module.h:1109
static PVOID ExAllocatePoolZero(ULONG PoolType, SIZE_T NumberOfBytes, ULONG Tag)
Definition: precomp.h:45
NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable(_In_ ULONG TableSize, _Inout_ PRTL_ATOM_TABLE *AtomTable)
BOOL FASTCALL UserIsEnteredExclusive(VOID)
Definition: ntuser.c:231
#define TRACE(s)
Definition: solgame.cpp:4
Definition: job.h:12
PEJOB pEJob
Definition: job.h:14
PRTL_ATOM_TABLE pAtomTable
Definition: job.h:15
struct _JOBINFO * Next
Definition: job.h:13
static PJOBINFO gJobInfoList
Definition: job.c:28
#define USERTAG_W32JOB
Definition: tags.h:241

◆ Win32kJobCallout()

NTSTATUS NTAPI Win32kJobCallout ( _In_ PWIN32_JOBCALLOUT_PARAMETERS  Parameters)

Definition at line 476 of file job.c.

477{
478 switch (Parameters->CalloutType)
479 {
482 PtrToUlong(Parameters->Data));
483
485 return IntJobAddProcess((PEJOB)Parameters->Job,
486 (PPROCESSINFO)Parameters->Data);
487
489 return IntJobTerminate((PEJOB)Parameters->Job);
490
491 default:
492 ERR("Unknown job callout %d\n", Parameters->CalloutType);
494 }
495}
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
Definition: dispmprt.h:321
#define PtrToUlong(u)
Definition: config.h:107
@ PsW32JobCalloutTerminate
Definition: pstypes.h:555
@ PsW32JobCalloutAddProcess
Definition: pstypes.h:554
@ PsW32JobCalloutSetInformation
Definition: pstypes.h:553
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
static NTSTATUS IntJobSetRestrictions(_In_ PEJOB pEJob, _In_ ULONG UIRestrictions)
Definition: job.c:266
static NTSTATUS IntJobTerminate(_In_ PEJOB pEJob)
Definition: job.c:357
static NTSTATUS IntJobAddProcess(_In_ PEJOB pEJob, _In_ PPROCESSINFO ppi)
Definition: job.c:328

Referenced by DriverEntry().