Used to peek at the next entry on the queue.
Returns a pointer to the next IODataQueueEntry if one is available. 0 (NULL) is returned if the queue is empty.
This function can be used to look at the next entry which allows the entry to be received without having to copy it with dequeue. In order to do this, call peek to get the entry. Then call dequeue with a NULL data pointer. That will cause the head to be moved to the next entry, but no memory to be copied.