Cursor Behavior Due to Errors
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
When errors occur, the cursor is never reset yet it may be advanced. For example, when an error occurs while trying to read the current message the cursor is not moved, yet the peek-next operation will always move the cursor even if an error occurs.
Note
The cursor does not move when there is an invalid handle. For example, if you use MSMQQueue.PeekNext and get a buffer overflow error, subsequent MSMQQueue.PeekCurrent operations return the same message and not the message pointed to before MSMQQueue.PeekNext.
More Information
For information on | See |
---|---|
How a cursor is moved to the first message when the cursor is created. | Cursor Behavior when Creating a Cursor |
How the cursor is moved when peeking at messages | Cursor Behavior when Peeking at Messages |
How the cursor is moved when retrieving messages | Cursor Behavior when Retrieving Messages |
How the cursor is moved when reaching the end of the queue | Cursor Behavior when Reaching the End of the Queue |
How multiple cursors interact | Cursor Behavior when Using Multiple Cursors |
How the cursor behaves when waiting for new messages at the end of the queue. | Cursor Behavior when Waiting for New Messages |
How the cursor behaves when trying to read a message that was removed by someone else. | Cursor Behavior When Messages are Not Available |
How the cursor behaves when trying to read messages from a deleted queue | Cursor Behavior and Deleted Queues |
How the cursor moves when the queue contains messages with different message priority levels. | Cursor Behavior and Message Priority |
Summary of COM methods that use cursors for synchronous and asynchronous operations | Cursors and COM Components |
Example code that navigates a queue based on cursors. | Navigating Queue Examples |