DevHelp DevDone

This service signifies that a request has completed and unblocks any threads waiting in the kernel for the request.

C
 USHORT APIENTRY DevHelp_DevDone( PBYTE ReqPktAddr) 

Assembler
 LES  BX,request_packet       ; Pointer to I/O request packet MOV  DL,DevHlp_DevDone

CALL [Device_Help] 

C

 * ReqPktAddr (PBYTE) : Pointer to I/O request packet.

Assembler
 LES  BX,request_packet       ; Pointer to I/O request packet MOV  DL,DevHlp_DevDone

CALL [Device_Help] 

C
Success Indicator: None.

Possible errors: None.

Assembler
None.

Remarks
DevDone sets the done bit in the Status field of the request packet header and issues the DevHlp_ProcRun for threads that are blocked in the kernel waiting for the request packet to be completed. DevDone is called from the device interrupt routine. The physical device driver that issues the DevDone command should set any error flags in the Status field before calling the routine. DevDone does not apply to request packets that were allocated from the DevHlp_AllocReqPacket.

The physical device driver does not call DevDone for requests that are completed at task time (in the strategy routine). Requests that are completed at strategy time should return with the done bit set in the request packet.

C

 * 1) include "dhcalls.h"

USHORT APIENTRY DevHelp_DevDone( PBYTE ReqPktAddr) 