DevHelp DevDone

From EDM2
Jump to: navigation, search

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

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)

Related Functions