WindowsXP-SP1/inetsrv/msmq/sdk/samples/mqtrigger
2020-09-30 16:53:49 +02:00
..
mqtrig First commit 2020-09-30 16:53:49 +02:00
permain First commit 2020-09-30 16:53:49 +02:00
makefile First commit 2020-09-30 16:53:49 +02:00
readme.txt First commit 2020-09-30 16:53:49 +02:00

MQTrigger Sample

The Platform software development kit (SDK) provides documentation on how to use notification events to provide 
asynchronous handling of messages, which is one kind of trigger functionality. However, you can also use 
Performance Monitor counters to monitor for triggering conditions. This article points you to a sample application 
that shows you how to write a trigger using a Performance Monitor counter.

The sample, "MQTrigger," is written in Visual Basic and C++. It uses a timer event to periodically poll a Performance 
Monitor counter for a message count. The sample application displays a dialog box when the message count in a 
queue reaches the threshold.

What "Trigger" means:
A trigger is a mechanism that provides a notification when some condition on a queue is met.  MQTrigger 
demonstrates a way to simulate a "trigger", similar to the functionality provided by the new MSMQ Trigger service. 
However, this sample demonstrates triggering solely based on the number of messages in a local queue, a feature 
not yet available by MSMQ Trigger service.

Installation:
1)	MSMQ2.0 or later must be installed on the MQTrigger host machine.
2)	Create PerMain.dll:
	a.	Use Visual C++ 5.0 or later to open PerMain.dsp (a VB WIN32 DLL Project).
	b.	Compile the DLL.
	c.	Copy PerMain.dll to %windir%\system32.
3)	Note: MQTrigger will not run on Windows 95. It relies on NT PerfMon counters.

Usage:
1)	Launch MqTrigger.exe.
2)	Specify the local queue pathname (E.g. <machine name>\<queue name>) to monitor. 
a.	Note: If a local queue does not exist, use another sample app to create one first.
2)	Specify the message count threshold above which you wish to receive notifications.
3)	Specify the polling frequency in units of seconds.
4)	Click the "Begin Monitor" button to begin monitoring the queue.
5)	Use another application to place messages in the queue. 
6)	MQTrigger will notify you with a message box when the threshold has been exceeded.

Implementation:
MQTrigger is written in Visual Basic. A timer event calls the GetPerfMonInfo function exported by Permain.dll.
GetPerfMonInfo obtains the number of messages in the specified queue from a Performance Monitor counter 
and  returns this number to MQTrigger.

Notes: 
This sample implements a trigger based on information that can be obtained through PerfMon counters on a local 
queue.Since these counters aren<65>t available remotely, MQTrigger can only monitor local queues.