2.2.6 Notification Update

A Notification Update is used to encapsulate a change notification that indicates a change either on a queue or a machine object within a directory service. The change is expressed as a notification event that indicates one of the following events: creation of a queue object, change on a queue object, deletion of a queue object, or change on a machine object. A Notification Update is used by a directory service to send change notification messages to the queue manager that is the owner of the modified objects.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Command

UseGuid

PathName (variable)

...

GuidIdentifier (16 bytes, optional)

...

...

GuidMasterId (16 bytes)

...

...

Reserved (24 bytes)

...

...

NumberOfProperties

PropertyId (variable)

...

PropertyValue (variable)

...

Command (1 byte): A UCHAR that indicates the change notification operation, which can be create, change, or delete. This field MUST be set to 0x00, 0x01, or 0x02, where:

Value

Meaning

0x00

Indicates creation.

0x01

Indicates change.

0x02

Indicates deletion.

UseGuid (1 byte): A UCHAR that indicates whether a Notification Update uses the PathName or the GuidIdentifier field. This field MUST be set to 0x01 to indicate that the GuidIdentifier field is being used. Otherwise, this field MUST be set to 0x00 to indicate that the PathName field is being used.

Value

Meaning

0x00

The PathName field is being used.

0x01

The GuidIdentifier field is being used.

PathName (variable): Indicates the path of the object that was modified in the directory service. MUST be a null-terminated Unicode string, and MUST follow the rules specified in PROPID_Q_PATHNAME ([MS-MQMQ] section 2.3.1.3). This field MUST NOT be present if the UseGuid field is set to 0x01. Instead, the GuidIdentifier field MUST be set with a value.

GuidIdentifier (16 bytes): Indicates the GUID of the object that was modified in the directory service. This field MUST be present if the UseGuid field is set to 0x01.

GuidMasterId (16 bytes): Indicates the GUID of the directory server that originated the change Notification Update.

Reserved (24 bytes): A 24-byte array of UCHAR reserved for future use. MAY be set to all 0x00 bytes by the client, and MUST be ignored by the server.

NumberOfProperties (1 byte): A UCHAR that indicates the number of properties that are included as part of this Notification Update.

PropertyId (variable): An array of PROPID that contains a collection of property IDs that are part of this Notification Update. These properties refer either to informative data or to changed data related to the changed object. The number of elements MUST be equal to the value of the NumberOfProperties field.

PropertyValue (variable): Contains a collection of property values that are part of this Notification Update. These instances contain either informative data or modified data related to the changed object. The number of property values MUST be equal to the value of the NumberOfProperties field. The format of each property value depends on the variant type, which is determined by the corresponding property ID. Section 2.2.3 lists the formats for the variant types. Sections 2.2.3.1 through 2.2.3.15 define the types for each property ID.