3.2.5 Processing Events and Sequencing Rules
The server MUST initialize the local private change notification queue as specified in section 3.2.3. When a Dequeue Message ([MS-MQDMPR] section 3.1.7.1.10) event is raised, the server MUST process the returned rMessage as follows:
Let NotificationMessage be initialized to rMessage.Body parsed as a Change Notification Message (section 2.2.4).
Verify the value of the NotificationMessage.Version field, and:
If the value of the NotificationMessage.Version field is 0x01, the NotificationMessage.Data field MUST be interpreted as an array of instances of Notification Update (section 2.2.6). The number of instances is determined by the value of the NotificationMessage.NumberOfUpdateNotifications field. For receiving a change notification message version 0x01, see section 3.2.5.1.
Otherwise, if the value of the NotificationMessage.Version field is 0x02, the NotificationMessage.Data field MUST be interpreted as an instance of Notification Body (section 2.2.5). For receiving a change notification message version 0x02, see section 3.2.5.2.
After a notification message is processed, another Dequeue Message event MUST be generated as specified in section 3.2.3. This process is repeated for the lifetime of the queue manager.