24 DPRINT1(
"ConsoleClientShutdown(0x%p, 0x%x) - Console process [0x%x, 0x%x]\n",
54 DPRINT1(
"Terminating process %x\n",
Process->ClientId.UniqueProcess);
82 DPRINT(
"Do not kill a system process in a logoff request!\n");
98 DPRINT(
"ConsoleClientShutdown(0x%p, 0x%x, %s) - Non-console process [0x%x, 0x%x]\n",
#define ConsoleGetPerProcessData(Process)
@ CsrShutdownNonCsrProcess
VOID NTAPI CsrDereferenceProcess(IN PCSR_PROCESS CsrProcess)
DWORD WINAPI GetProcessImageFileNameW(HANDLE hProcess, LPWSTR lpImageFileName, DWORD nSize)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSTATUS NTAPI NtTerminateProcess(HANDLE ProcessHandle, LONG ExitStatus)
struct _CONSOLE_IO_HANDLE * HandleTable
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define UNIMPLEMENTED_ONCE
NTSTATUS ConSrvConsoleCtrlEventTimeout(IN ULONG CtrlEvent, IN PCONSOLE_PROCESS_DATA ProcessData, IN ULONG Timeout)
static void NotifyConsoleProcessForShutdown(IN PCSR_PROCESS CsrProcess, IN PCONSOLE_PROCESS_DATA ProcessData, IN ULONG Flags)
ULONG NTAPI NonConsoleProcessShutdown(IN PCSR_PROCESS Process, IN ULONG Flags)
ULONG NTAPI ConsoleClientShutdown(IN PCSR_PROCESS CsrProcess, IN ULONG Flags, IN BOOLEAN FirstPhase)
static BOOL NotifyGenericProcessForShutdown(IN PCSR_PROCESS CsrProcess, IN ULONG Flags)
SHUTDOWN_SETTINGS ShutdownSettings
#define CTRL_LOGOFF_EVENT
_Must_inspect_result_ _In_ ULONG Flags