Event |
Description |
MTS Disable Commit |
DisableCommit has been called on an object. |
MTS Enable Commit |
EnableCommit has been called on an object. |
MTS Set Complete |
SetComplete has been called on an object, and the object is now ready to be deactivated by MTS. |
MTS Transaction Aborted |
A transaction has aborted. |
MTS Transaction Prepared |
A transaction is preparing to commit, but has not actually committed yet. |
MTS Transaction Start |
Indicates that a transactional component has been created. |
Object Create |
Indicates that an object with context has been created. |
Object Release |
Indicates that an object has been released by MTS. |
Figure 5
Tracking ADO Events
Event |
Description |
ConnectionClose |
ADO is disconnecting from an OLE DB data source. |
ConnectionOpen |
ADO is connecting to an OLE DB data source. |
Find |
ADO client has called the ADO Recordset.Find function. |
GetRows |
ADO client has called the ADO Recordset.GetRows function. |
QueryResult |
Database has returned a resultset in response to a query. |
QuerySend |
ADO is executing a command. This event can be triggered by the following functions: Connection.Execute, Command.Execute, Connection.stored procedure name, Recordset.Open. |
Figure 6 Registering a Component
Option Explicit
Private mInstall As Object
' This sub-routine just instantiated the Installer object.
Private Sub MIND_InstantiateInstall()
Set mInstall = New MSVSAEventSourceInstaller
End Sub
' This sub-routine registers a COM component with Analyzer
Private Sub MIND_RegisterCOMComponentSource()
Dim sCOMComponentSourceGUID As String
Dim sCOMComponentSourceName As String
Dim sCOMComponentSourceDescr As String
Dim sCLSID As String
Dim lInProc As Long
' Add a unique GUID using GuidGen.exe.
sCOMComponentSourceGUID = "{6F9A9124-E556-11d2-90FF-0080C76205C0}"
' Give your COM component a meaningful name
sCOMComponentSourceName = "MIND Analyzer sample component"
sCOMComponentSourceDescr =
"Calculates current account charges and writes to the database. "
' Look up the component CLSID in the registry, and provide it as a value for
' Analyzer to instantiate automoically
sCLSID = "{D80FA506-4D5D-11D1-8B34-00C04FB90D09}"
' I want the COM component start in-proc so I use a true value
lInProc = 1
' Then I call the method
mInstall.RegisterCOMComponentSourceSource _
sCOMComponentSourceeGUID, _
sCOMComponentSourceName, _
sCOMComponentSourceDescr, _
sCLSID, _
lInProc
End Sub
Figure 7 Registering MyEvent
' Register a user-defined (custom) event.
Private Sub MIND_RegisterMyEvent(ByVal sSourceGUID As String)
Dim sMyEventGUID As String
Dim sMyEventName As String
Dim sMyEventDescr As String
Dim sIconFile As String, lIcon As Long
' sSourceGUID is the GUID for the source omponent
‘ Use the default all event category when grouping the event into a category
Dim sDEBUG_EVENT_CATEGORY_ALL As String
‘ Use the default event to Event Call to set this up
Dim sDEBUG_EVENT_TYPE_DEFAULT As String
sDEBUG_EVENT_CATEGORY_ALL -
"{6c736d86-BCBF-11D0-8A23-00AA00B58E10} [Parent = _ALL]"
sDEBUG_EVENT_TYPE_DEFAULT = "{6c736d62-BCBF-11D0-8A23-00AA00B58E10}"
sSourceGUID = "{6F9A9121-E556-11d2-90FF-0080C76205C0}"
' Generate another unique GUID
sMyEventGUID = "{6F9A9122-E556-11d2-90FF-0080C76205C0}"
' Assign a logical name and description to the event
sMyEventName = "MINDSampleCustomDebugEvent"
sMyEventDescr = "This is a test custom event."
' Pass the next two parameters empty.
sIconFile = "": lIcon = 0
' This call assigns the defaults for event type and category.
mESI.RegisterMyEvent _
sSourceGUID, _
sMyEventGUID, _
sMyEventName, _
sMyEventDescr, _
sDEBUG_EVENT_TYPE_DEFAULT, sDEBUG_EVENT_CATEGORY_ALL, _
sIconFile, _
lIcon
End Sub
Figure 8 Generating an Event
' Pass in the GUID of the event registered
Private Sub MIND_FireEvent(ByVal sEventGUID As String)
Dim Keys(1 To 3) As Variant, Values(1 To 3) As Variant
Dim lCount As Long
Dim lFlags As Long
sEventGUID = "{6F9A9122-E556-11d2-90FF-0080C76205C0}"
' Provide as much information as you can in the parameters to the
‘ event. You can also create arrays of keys and values for passing the
‘ event parameters.
Keys(1) = "Goner"
Values(1) = "Source machine"
Keys(2) = "Stallion"
Values(2) = "Target Machine"
Keys(3) = "Component interaction"
Values(3) = 2
lCount = 3
lFlags = cVSAEventStandard
mEventInstaller.FireEvent sEventGUID, Keys, Values, lCount, lFlags
End Sub