3.1.7.1.18 Create Directory Object
This event MUST be generated with the following arguments:
iDirectoryObject: An instance of a DirectoryObject ADM element to be created in the directory.
iAttributeList (Optional): An array of strings containing the subset of the names of the directory attributes of the DirectoryObject ADM element instance referenced by the iDirectoryObject argument to be published in the directory. If this argument is not supplied, all the directory attributes of the DirectoryObject ADM element instance referenced by the iDirectoryObject argument are persisted.
Return Values:
rStatus: A DirectoryOperationResult that indicates the result of this directory operation.
rObjectGUID: The GUID of the newly created DirectoryObject ADM element instance. This value is undefined if rStatus does not equal DirectoryOperationResult.Success.
The queue manager MUST perform the following actions to process this event:<21>
If the iDirectoryObject argument is of type Queue (section 3.1.1.2) and iDirectoryObject.QueueType is Public:
Generate a Send Change Notification ([MS-MQCN] section 3.3.4.1) event with the following arguments:
iOperation := QueueCreation
iDirectoryObject := iDirectoryObject
Generate the Create Directory Object ([MS-MQDSSM] section 3.1.6.1) event<22> with the arguments supplied for this event.
If the rStatus returned from processing of the invoked event is DirectoryOperationResult.DirectoryNotConnected:
Set LocalQueueManager.DirectoryOffline to True.
Start the Directory Online Timer (section 3.1.2.5) if it is not active already.
Set rStatus to DirectoryOperationResult.DirectoryNotConnected.
Else:
Set rStatus to the rStatus returned from the invoked event.
Set rObjectGuid to the rObjectGuid returned from the invoked event.