PacketBufferComplete

[This is preliminary documentation and subject to change.]

The PacketBufferComplete function informs the MMR that the virtual interface is done processing a packet and provides status on the completed packet.

void PacketBufferComplete(
  IN PACKET_BUFFER *Packet,  
  IN DWORD dwStatus    
);
 

Parameters

Packet
Address of a PACKET_BUFFER structure that describes a packet the virtual interface is finished with.
dwStatus
Value specifying the status of the completed packet. The following table lists and describes the valid status values.
Value Meaning
PACKET_COMPLETE_FAILURE A failure occurred in processing the packet.
PACKET_COMPLETE_NO_ROUTE The virtual interface was unable to route the packet.
PACKET_COMPLETE_OVERFLOW The virtual interface cannot process the packet synchronously and lacks queue space to process the packet asynchronously.
PACKET_COMPLETE_SUCCESS Processing of the packet completed successfully.

Return Values

None

Remarks

The MMR implements PacketBufferComplete as an inline function in the Packet.h header file; the Bridge.h header file includes Packet.h. The PacketBufferComplete implementation calls the CompletionFunc member of the PACKET_BUFFER structure for the passed in packet.

Virtual interface DLLs can be implemented for particular output systems that use first-in-first-out (FIFO) chips of a fixed-length in the range of 32 to 64 slots. If such a virtual interface fills the output system's FIFO before transmitting all the packet data, then the virtual interface must inform the MMR that it is done processing the packet with a status value of PACKET_COMPLETE_OVERFLOW.

See Also

PACKET_BUFFER