Visual Basic Code Example: Requesting Source Journaling
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
This example provides a Sub procedure that requests source journaling based on the journaling level provided by the caller. This function sets the MSMQMessage.Journal property of the message using the provided journaling level, and then sends the message to a known destination queue. For positive source journaling, the value of the journaling level passed to the function must be MQMSG_JOURNAL, and for negative source journaling, the value must be MQMSG_DEADLETTER. Both positive and negative source journaling can be requested by passing MQMSG_JOURNAL | MQMSG_DEADLETTER.
For information on source journaling, see Source Journaling.
To request source journaling
Declare the objects needed to send a message that requests positive source journaling. This procedure declares the following objects.
Generate a direct format name using the computer name and queue name provided by the caller.
Set the MSMQDestination.FormatName property.
Set the MSMQMessage.Journal property using the journaling level provided by the caller.
Optional. Set additional message properties. This procedure sets the MSMQMessage.Label property of the message to "Test Message: Positive Journaling".
Call MSMQMessage.Send to send a copy of the message to the destination queue referenced by the format name.
Note
When using an MSMQDestination object, Message Queuing implicitly opens the destination queue with send access and then closes the destination queue when the object is released.
Code Example
The following code example requires MSMQ 3.0.
Sub RequestJournaling( _
strComputerName As String, _
strQueueName As String, _
lJournalLevel As Long _
)
Dim strFormatName As String
Dim dest As New MSMQDestination
Dim msg As New MSMQMessage
' Create a direct format name.
strFormatName = "DIRECT=OS:" & strComputerName & "\" & strQueueName
' Set the format name of the MSMQDestination object.
On Error GoTo ErrorHandler
dest.FormatName = strFormatName
' Set the Journal property to request positive journaling.
msg.Journal = lJournalLevel
' Set other message properties.
msg.Label = "Test Message: Positive Journaling"
' Send the message.
msg.Send DestinationQueue:=dest
Exit Sub
ErrorHandler:
MsgBox "Error " + Hex(Err.Number) + " was returned." _
+ Chr(13) + Err.Description
End Sub