windows-nt/Source/XPSP1/NT/inetsrv/msmq/sdk/samples/vbtrans
2020-09-26 16:20:57 +08:00
..
form1.frm Add source files 2020-09-26 16:20:57 +08:00
form1.frx Add source files 2020-09-26 16:20:57 +08:00
readme.txt Add source files 2020-09-26 16:20:57 +08:00
vbtrans.vbp Add source files 2020-09-26 16:20:57 +08:00

Sample: VBTrans

Purpose: 
This sample uses the MSMQ COM objects from VB and demonstrates how to use the new MSMQ2.0 transactional 
boundary feature.

The application opens a local transactional queue
and sends messages to that queue. The messages in the queue appear in a treeview, gathered in the transactions 
to which they belong. The user can then receive the messages from the queue as a single transaction.

Requirements:
VB5 or later.
MSMQ 2.0 or later.

Overview:
When a VBTrans application is started, the user is prompted to specify a queue name. The application then creates 
a local queue by that name. On a DS-enabled computer a public queue is created. A private queue will be created 
on a DS-disabled computer.

If a queue by that name already exists, it is opened only if it is a transactional queue. In this case, the application 
updates the treeview by peeking all queue messages. The transactions are identified by inspecting each message's 
sFirstInTransaction property. If the existing queue is not transactional, the user will be prompted to specify another 
queue name.

Once the queue has been opened for both send and receive access, and the treeview has been updated, the queue 
DNS pathname will be displayed. This is obtained from the PathNameDNS property of MSMQQueueInfo instance.

If the queue is not empty, the user can receive messages by clicking the receive button. Note that all messages 
belonging a single transaction will be received.

After specifying the number of messages to be sent, the send button can be clicked to send the messages to the 
queue. These messages will be sent as a single local transaction. The message labels can be viewed by clicking 
the transaction icon.