- DPRINT1("Failed to initialize the handles table\n");
-
- // ConSrvRemoveConsole(TargetProcessData);
- TargetProcessData->Console = NULL;
- goto Quit;
- }
-
-/******************************************************************************/
-
-/******************************************************************************/
-/** This comes from ConSrvConnect / SrvAllocConsole!! **/
- /* Add a reference count because the process is tied to the console */
- _InterlockedIncrement(&TargetProcessData->Console->ReferenceCount);
-
- /* Insert the process into the processes list of the console */
- InsertHeadList(&TargetProcessData->Console->ProcessList, &TargetProcessData->ConsoleLink);
-
- /** Here, we inherited the console handles from the "source" process,
- ** so no need to reinitialize the handles table. **/
-
- DPRINT1("SrvAttachConsole - Checkpoint\n");
-
- /* Duplicate the Event */
- Status = NtDuplicateObject(NtCurrentProcess(),
- TargetProcessData->Console->InputBuffer.ActiveEvent,
- TargetProcessData->Process->ProcessHandle,
- &TargetProcessData->ConsoleEvent,
- EVENT_ALL_ACCESS, 0, 0);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("NtDuplicateObject() failed: %lu\n", Status);
- ConSrvRemoveConsole(TargetProcessData);