DevHlp KillProc

From EDM2
Jump to: navigation, search

DevHlp_KillProc kills a process unconditionally.

This is a special entry into DosKillProcess, which is more rigid in killing processes: the killed process won’t be able to execute its kill signal handler, thus open files might not be closed properly. A process currently operating in ring 0 will terminate as soon as it returns to ring 3 (this means, a process blocked in the kernel, e.g. on a pending I/O, can still not be killed). This devhlp corresponds to the SESKillProcess API.

Syntax

C

There is no direct C calling Sequence.

Assembler

Calling Sequence in Assembler

MOV BX, pid
MOV DL, DevHlp_KillProc

CALL [Device_Help]

Parameters

C

N/A

Assembler

  • BX = Pid of process to kill, 0 = current process
  • DL = 07dh

Return Code

C

N/A

Assembler

Results in Assembler

  • C Clear if the process is killed. AX = zero.
  • C Set if error. AX = Error code.

Possible errors

217 ERROR_ZOMBIE_PROCESS Process is already dead pending collection of result codes by parent.
303 ERROR_INVALID_PROCID PID is invalid.

or:

   CY=0, AX = 0, okay
   CY=1, AX = APIRET error code 


Remarks

The process is killed unconditionally. Signal and exception handlers are not run. This Device Help may be called at Task Time only.

Example Code

C

N/A

Assembler

Related Functions