Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 1291 of file kill.c.
{ NTSTATUS Status; PTERMINATION_PORT TerminationPort; PVOID TerminationLpcPort; PETHREAD Thread; PAGED_CODE(); PSTRACE(PS_KILL_DEBUG, "PortHandle: %p\n", PortHandle); /* Get the Port */ Status = ObReferenceObjectByHandle(PortHandle, PORT_ALL_ACCESS, LpcPortObjectType, KeGetPreviousMode(), &TerminationLpcPort, NULL); if (!NT_SUCCESS(Status)) return(Status); /* Allocate the Port and make sure it suceeded */ TerminationPort = ExAllocatePoolWithTag(NonPagedPool, sizeof(TERMINATION_PORT), '=TsP'); if(TerminationPort) { /* Associate the Port */ Thread = PsGetCurrentThread(); TerminationPort->Port = TerminationLpcPort; TerminationPort->Next = Thread->TerminationPort; Thread->TerminationPort = TerminationPort; /* Return success */ return STATUS_SUCCESS; } /* Dereference and Fail */ ObDereferenceObject(TerminationPort); return STATUS_INSUFFICIENT_RESOURCES; }