DevHelp DevDone
This service signifies that a request has completed and unblocks any threads waiting in the kernel for the request.
Contents
Syntax
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]
Parameters
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]
Return Code
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.
Example Code
C
#include "dhcalls.h" USHORT APIENTRY DevHelp_DevDone( PBYTE ReqPktAddr)