<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>David Aiken : Instrumentation</title><link>http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx</link><description>Tags: Instrumentation</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Visual Studio Team System Management Model Designer Power Tool (TSMMD) Ships</title><link>http://blogs.msdn.com/daiken/archive/2008/02/21/visual-studio-team-system-management-model-designer-power-tool-tsmmd-ships.aspx</link><pubDate>Fri, 22 Feb 2008 04:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7843565</guid><dc:creator>daiken</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/daiken/comments/7843565.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=7843565</wfw:commentRss><description>&lt;P&gt;Visual Studio Team System Management Model Designer Power Tool (TSMMD) v2.0 CTP is now live at &lt;A href="http://www.codeplex.com/dfo" mce_href="http://www.codeplex.com/dfo"&gt;http://www.codeplex.com/dfo&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;This project has two deliverables. &lt;/P&gt;
&lt;P&gt;First is the Visual Studio Team System Management Model Designer Power Tool (TSMMD). TSMMD is a tool for modeling line-of-business health scenarios and the associated instrumentation. The tool includes guidance packages that generate platform instrumentation (called Instrumentation Helpers) and validators to confirm that application source code contains instrumentation defined in the Health Model. The tool can then be used to generate Management Packs for System Center Operations Manager 2007. &lt;/P&gt;
&lt;P&gt;Second is the Management Guide that contains prescriptive guidance on building highly manageable applications on the Microsoft Windows platform.&lt;/P&gt;
&lt;P&gt;TSMMD is in an early stage of development. It was developed to help raise the Architect and Developer awareness of the needs of the ITPRO. &lt;/P&gt;
&lt;P&gt;patterns &amp;amp; practices is releasing this CTP with a level of functionality to enable the end-to-end adoption and consumption of the health modeling scenario from Architecture to IT.&lt;/P&gt;
&lt;P&gt;We need your feedback. Is the tooling correct? What did we get right and where did we fall short?&lt;/P&gt;
&lt;P&gt;New features include:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Improved model and user experience.&lt;/LI&gt;
&lt;LI&gt;Limited support for Enterprise Library Logging.&lt;/LI&gt;
&lt;LI&gt;Native support for model export to System Center Operations Manager Management Packs.&lt;/LI&gt;
&lt;LI&gt;Support for existing applications through MSIL scanning for Event Log, Performance Counter, WMI and Enterprise Library instrumentation.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Please download the TSMMD right now and starting giving feedback.&lt;/P&gt;
&lt;P&gt;THIS POSTING IS PROVIDED "AS IS" WITH NO WARRANTIES, AND CONFERS NO RIGHTS, CONTENTS MAY BE HOT&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7843565" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category><category domain="http://blogs.msdn.com/daiken/archive/tags/VSMMD/default.aspx">VSMMD</category><category domain="http://blogs.msdn.com/daiken/archive/tags/Visual_2B00_Studio/default.aspx">Visual+Studio</category><category domain="http://blogs.msdn.com/daiken/archive/tags/TSMMD/default.aspx">TSMMD</category></item><item><title>New Year = Models, Code Discovery and Management Pack Generation</title><link>http://blogs.msdn.com/daiken/archive/2008/01/09/new-year-models-code-discovery-and-management-pack-generation.aspx</link><pubDate>Thu, 10 Jan 2008 00:17:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7045648</guid><dc:creator>daiken</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/daiken/comments/7045648.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=7045648</wfw:commentRss><description>&lt;p&gt;Some of you may have already seen the existing Management Model Designer from &lt;a href="http://www.codeplex.com/dfo"&gt;http://www.codeplex.com/dfo&lt;/a&gt; or seen the channel 9 screen casts &lt;a title="The DFO Show - Designing a Health Model with the Visual Studio Management Model Designer" href="http://channel9.msdn.com/ShowPost.aspx?PostID=297288"&gt;The DFO Show - Designing a Health Model with the Visual Studio Management Model Designer&lt;/a&gt; or &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=298011"&gt;The DFO Show - Implementing a Health Model with the Visual Studio Management Model Designer&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Well we've been working hard on a new version which will CTP in the next few weeks.&lt;/p&gt;  &lt;p&gt;Remember the previous version of the tool allowed you to design a health model, then generate the instrumentation code that implemented it. The new version has some pretty significant new features.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Discovery of Existing Instrumentation Code&lt;/strong&gt;, will allow you to bring into the model any instrumentation code you already have in your application. It doesn't matter if its event log messages, performance counters, WMI events or even Enterprise Library. The designer will find it. You don't even need the source, as the scanner uses the IL!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_4.png"&gt;&lt;img height="93" alt="image" src="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_thumb_1.png" width="233" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Generation of a System Center Operations Manager 2007 Management Pack&lt;/strong&gt; means you no longer have to hand craft a management pack for your model. You simply hit a button and out drops a management pack. You can import this management pack directly into Operations Manager and without change Operations Manager will find all instances of your application and begin monitoring.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_6.png"&gt;&lt;img height="432" alt="image" src="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_thumb_2.png" width="640" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The new designer also defines more meaningful entities such as web sites, services, etc. which links to the automated discovery in Operations Manager.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_2.png"&gt;&lt;img height="433" alt="Designer Surface Screenshot" src="http://blogs.msdn.com/blogfiles/daiken/WindowsLiveWriter/NewYearModelsCodeDiscoveryandManagementP_BAD2/image_thumb.png" width="595" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Couple the 2 new big features together, and you end up with the capability of discovering instrumentation in your app, mapping this into a health model, and generating a fully operation management pack. With the existing instrumentation generation, you can now turn your application into something that can easily monitored and maintained once deployed.&lt;/p&gt;  &lt;p&gt;Watch out for an update and link to download when its released in a few weeks time.&lt;/p&gt;  &lt;p&gt;THIS POSTING IS PROVIDED &amp;quot;AS IS&amp;quot; WITH NO WARRANTIES, AND CONFERS NO RIGHTS&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7045648" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category><category domain="http://blogs.msdn.com/daiken/archive/tags/VSMMD/default.aspx">VSMMD</category></item><item><title>No Traffic Cops Here?</title><link>http://blogs.msdn.com/daiken/archive/2007/06/14/no-traffic-cops-here.aspx</link><pubDate>Thu, 14 Jun 2007 10:37:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3284668</guid><dc:creator>daiken</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/daiken/comments/3284668.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=3284668</wfw:commentRss><description>Keith Pleas and I were discussing strategies for modeling SLA's in Management Models. Our goal was to enable monitoring of specific SLA's defined by the business. In our discussion, we wanted to know what the time between receiving an order from a customer...(&lt;a href="http://blogs.msdn.com/daiken/archive/2007/06/14/no-traffic-cops-here.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3284668" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category></item><item><title>Announcing the Visual Studio Management Model Designer VSMMD</title><link>http://blogs.msdn.com/daiken/archive/2007/03/30/announcing-the-visual-studio-management-model-designer-vsmmd.aspx</link><pubDate>Sat, 31 Mar 2007 01:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1996142</guid><dc:creator>daiken</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/daiken/comments/1996142.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=1996142</wfw:commentRss><description>&lt;P&gt;Today we got one step closer to building manageable applications. On codeplex, right now, is the bright shiney new Visual Studio Management Model Designer.&lt;/P&gt;
&lt;P&gt;The designer, available on Codeplex at &lt;A href="http://www.codeplex.com/dfo" mce_href="http://www.codeplex.com/dfo"&gt;http://www.codeplex.com/dfo&lt;/A&gt; , is built upon the Visual Studio DSL. The designer allows Architects to describe a health model including defining Managed Entities, Aspects and Health State Indicators, as well as specifying abstract and concrete implementations for multiple trust levels. &lt;/P&gt;
&lt;P&gt;Furthermore the health model can be used to auto-generate the actual .net implementation code for writing events and performance counters. This will significantly reduce the amount of developer effort required to build manageable applications.&lt;/P&gt;
&lt;P&gt;Confused? &lt;/P&gt;
&lt;P&gt;There is also a 300+ page guide on how to use the tool and design for operations in general which will be available next week. &lt;/P&gt;
&lt;P&gt;Although the tool is a prototype/CTP, it is fully functional and can be used today to make your applications more manageable.&lt;/P&gt;THIS POSTING IS PROVIDED "AS IS" WITH NO WARRANTIES, AND CONFERS NO RIGHTS&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1996142" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category><category domain="http://blogs.msdn.com/daiken/archive/tags/VSMMD/default.aspx">VSMMD</category></item><item><title>Raise Crimson Events from .NET Part 3 - The DLL</title><link>http://blogs.msdn.com/daiken/archive/2005/09/30/475682.aspx</link><pubDate>Fri, 30 Sep 2005 14:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:475682</guid><dc:creator>daiken</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/daiken/comments/475682.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=475682</wfw:commentRss><description>&lt;P&gt;Last time we wrote the manifest. Now we need to turn this into a resource our application and the event viewer can use.&lt;/P&gt;
&lt;P&gt;To enable us to build a DLL - we need some code, this is the contents of main.cpp:&lt;/P&gt;&lt;PRE&gt;#include "windows.h"
BOOL APIENTRY DllMain(&amp;nbsp;&amp;nbsp;HANDLE hModule,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD ul_reason_for_call,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LPVOID pReserved)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return TRUE;&lt;BR&gt;}
&lt;/PRE&gt;
&lt;P&gt;Next we need to create the resource files from the manifest. To do this we need to use the message compiler (mc.exe). This should be on the path of any&amp;nbsp;SDK path. Use the following to compile the message file:&lt;/P&gt;&lt;PRE&gt;mc -W winmeta.xml EventSchema.man&lt;/PRE&gt;
&lt;P&gt;Its worth noting that the &lt;STRONG&gt;winmeta.xml&lt;/STRONG&gt; file needs to be copied or referenced from the &lt;STRONG&gt;Microsoft SDKs\Platform\Include&lt;/STRONG&gt; folder. Its also worth having a look in winmeta.xml to see what is going on.&lt;/P&gt;
&lt;P&gt;There should now be 4 files created. &lt;STRONG&gt;EventSchema.h&lt;/STRONG&gt;, &lt;STRONG&gt;EventSchema.rc&lt;/STRONG&gt;, &lt;STRONG&gt;EventSchemaTemp.bin&lt;/STRONG&gt; and &lt;STRONG&gt;MSG00001.bin&lt;/STRONG&gt;. Its the values in &lt;STRONG&gt;EventSchema.h&lt;/STRONG&gt; that will interest us later as we will use the values defined in our code.&lt;/P&gt;
&lt;P&gt;We need to complie the &lt;STRONG&gt;.rc&lt;/STRONG&gt; file into a &lt;STRONG&gt;.res&lt;/STRONG&gt; file - use the following command:&lt;/P&gt;&lt;PRE&gt;rc EventSchema.rc&lt;/PRE&gt;
&lt;P&gt;This will create the EventSchemas.res file.&lt;/P&gt;
&lt;P&gt;Now we can build the DLL using the following commands:&lt;/P&gt;&lt;PRE&gt;cl main.cpp /LD&lt;BR&gt;
link /DLL main.obj EventSchema.res /out:CrimsonNetSchema.dll&lt;/PRE&gt;
&lt;P&gt;Fingers crossed we have a DLL! In the manifest, we referenced the location of the DLL in the provider tag:&lt;/P&gt;&lt;PRE&gt;&amp;lt;provider name="Microsoft-Samples-CrimsonNetDemo"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;guid="{9c878495-5572-474e-97b6-ae8072b18037}"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;symbol="PROV_CRIMSONDEMO"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceFileName="d:\CrimsonNetDemo\CrimsonNetSchema.dll"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;messageFileName="d:\CrimsonNetDemo\CrimsonNetSchema.dll"&amp;gt;&lt;/PRE&gt;
&lt;P&gt;we need to put the DLL in this location.&lt;/P&gt;
&lt;P&gt;Finally we can register the manifest with the event service:&lt;/P&gt;&lt;PRE&gt;wevtutil im EventSchema.man&lt;/PRE&gt;
&lt;P&gt;Check in the Windows Event Viewer and you should see our log!&lt;/P&gt;
&lt;P&gt;Next up, wrap the crimson API....&lt;/P&gt;
&lt;P&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=475682" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category></item><item><title>Raise Crimson Events from .NET Part 2 - The Manifest</title><link>http://blogs.msdn.com/daiken/archive/2005/09/30/475652.aspx</link><pubDate>Fri, 30 Sep 2005 13:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:475652</guid><dc:creator>daiken</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/daiken/comments/475652.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=475652</wfw:commentRss><description>&lt;P&gt;It seems I got a little side tracked with these posts, but here goes the next one...&lt;/P&gt;
&lt;P&gt;Our first task is to create an Instrumentation Manifest, which will contain the definitions for the channels, events and anything else our application will need to raise events. The Instrumentation Manifest is simply a XML file. Check out &lt;A href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/eventmanifestschema_instrumentationmanifest_element.asp?frame=true"&gt;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/eventmanifestschema_instrumentationmanifest_element.asp?frame=true&lt;/A&gt; for some pointers to the schema used.&lt;/P&gt;
&lt;P&gt;In our example, we shall create our own channel for our events. We'll call this channel "Microsoft-Samples-CrimsonNetDemo/MyChannel". We will also write an event to the existing Application Log.&lt;/P&gt;
&lt;P&gt;The &amp;lt;channels&amp;gt; section of the manifest defines the channels - here is ours:&lt;/P&gt;&lt;PRE&gt;&lt;P&gt;&amp;lt;channels&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;importChannel chid="C1" name="Application" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;channel name="Microsoft-Samples-CrimsonNetDemo/MyChannel" &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chid="C2" &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;symbol="MYCHANNEL" &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type="Admin"/&amp;gt;&lt;BR&gt;&amp;lt;/channels&amp;gt;&lt;/P&gt;
&lt;/PRE&gt;
&lt;P&gt;&lt;BR&gt;We shall define 2 events, SIMPLE_EVENT and SIMPLE_EVENT2 - both will be based upon the same event template. The &amp;lt;events&amp;gt; section defines the events as shown here:&lt;/P&gt;&lt;PRE&gt;&lt;P&gt;&amp;lt;events&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;event symbol="SIMPLE_EVENT" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;template="SimpleEvent" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;level="win:Informational"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value="100" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;version="1" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel="C1" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message="$(string.SimpleMessage)"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;event symbol="SIMPLE_EVENT2"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;template="SimpleEvent"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;level="win:Informational"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value="101"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;version="1"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel="C2"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message="$(string.SimpleMessage)"/&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/events&amp;gt;&lt;/P&gt;&lt;/PRE&gt;
&lt;UL&gt;
&lt;LI&gt;Events are&amp;nbsp;linked to the channel using the chid defined earlier in the channels section.. 
&lt;LI&gt;&lt;STRONG&gt;Value&lt;/STRONG&gt; is the error number as seen in the event viewer. 
&lt;LI&gt;&lt;STRONG&gt;Level&lt;/STRONG&gt; is stolen from the winmeta.xml file&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And the &amp;lt;templates&amp;gt; section defines the templates:&lt;/P&gt;&lt;PRE&gt;&lt;P&gt;&amp;lt;templates&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;template tid="SimpleEvent"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;data name="ExceptionMessage" inType="win:UnicodeString"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;UserData&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;SimpleEvent &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns="&lt;A href="http://manifests.microsoft.com/win/2004/08/windows/simpleevent"&gt;http://manifests.microsoft.com/win/2004/08/windows/simpleevent&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ExceptionMessage&amp;gt;%1&amp;lt;/ExceptionMessage&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/SimpleEvent&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/UserData&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/template&amp;gt;&lt;BR&gt;&amp;lt;/templates&amp;gt;&lt;/P&gt;
&lt;/PRE&gt;
&lt;P&gt;Finally we also use a string table (just for fun):&lt;/P&gt;&lt;PRE&gt;&lt;P&gt;&amp;lt;localization&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;resources culture="en-US"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;stringTable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;string id="SimpleMessage" value="The Mortgage Service Started %1"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/string&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/stringTable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/resources&amp;gt;&lt;BR&gt;&amp;lt;/localization&amp;gt;&lt;/P&gt;
&lt;/PRE&gt;
&lt;P&gt;Actually I say just for fun, but it belongs to the localization section - which you can probably guess allows us to define localized messages.&lt;/P&gt;
&lt;P&gt;Here is our final manifest, which we'll call EventSchema.man&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="UTF-16"?&amp;gt;&lt;BR&gt;&amp;lt;assembly xmlns:xsi="&lt;A href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:xsd="&lt;A href="http://www.w3.org/2001/XMLSchema"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns="urn:schemas-microsoft-com:asm.v3"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;localization&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;resources culture="en-US"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;stringTable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;string id="SimpleMessage" value="There is a message: %1" stringType="string"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/stringTable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/resources&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/localization&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;instrumentation&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:xs="&lt;A href="http://www.w3.org/2001/XMLSchema"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:win="&lt;A href="http://manifests.microsoft.com/win/2004/08/windows/events"&gt;http://manifests.microsoft.com/win/2004/08/windows/events&lt;/A&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:xsi="&lt;A href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;events xmlns="&lt;A href="http://schemas.microsoft.com/win/2004/08/events"&gt;http://schemas.microsoft.com/win/2004/08/events&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;provider name="Microsoft-Samples-CrimsonNetDemo" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;guid="{9c878495-5572-474e-97b6-ae8072b18037}" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;symbol="PROV_CRIMSONDEMO" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceFileName="d:\CrimsonNetDemo\CrimsonNetSchema.dll" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;messageFileName="d:\CrimsonNetDemo\CrimsonNetSchema.dll"&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;channels&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;importChannel chid="C1" name="Application" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;channel name="Microsoft-Samples-CrimsonNetDemo/MyChannel" chid="C2" symbol="MYCHANNEL" type="Admin"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/channels&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;opcodes&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;opcode name="myopcode" symbol="OP1" value="100"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/opcodes&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;templates&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;template tid="SimpleEvent" message="$(string.SimpleMessage)"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;data name="ExceptionMessage" inType="win:UnicodeString"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;UserData&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;SimpleEvent xmlns="&lt;A href="http://manifests.microsoft.com/win/2004/08/windows/simpleevent"&gt;http://manifests.microsoft.com/win/2004/08/windows/simpleevent&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ExceptionMessage&amp;gt;%1&amp;lt;/ExceptionMessage&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/SimpleEvent&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/UserData&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/template&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/templates&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;events&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;event symbol="SIMPLE_EVENT" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;template="SimpleEvent" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;level="win:Informational"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value="100" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;version="1" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel="C1"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opcode="myopcode"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message="$(string.SimpleMessage)"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;event symbol="SIMPLE_EVENT2"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;template="SimpleEvent"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;level="win:Informational"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value="101"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;version="1"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel="C2"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opcode="myopcode" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message="$(string.SimpleMessage)"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/events&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/provider&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/events&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/instrumentation&amp;gt;&lt;BR&gt;&amp;lt;assembly&amp;gt;&lt;/PRE&gt;
&lt;P&gt;Next we'll turn this Manifest into a resource that can be used by our application and the event viewer...&lt;/P&gt;
&lt;P&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=475652" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category></item><item><title>Raise Crimson Events from Managed Code Part 1</title><link>http://blogs.msdn.com/daiken/archive/2005/09/19/471207.aspx</link><pubDate>Mon, 19 Sep 2005 15:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471207</guid><dc:creator>daiken</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/daiken/comments/471207.aspx</comments><wfw:commentRss>http://blogs.msdn.com/daiken/commentrss.aspx?PostID=471207</wfw:commentRss><description>&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;You may have heard there is a new event logging API on the block. Its codename is Crimson and it rocks.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Haven't heard of Crimson? Check out the .NET Show on Management Services at &lt;a href="http://blogs.msdn.com/theshow/archive/2005/07/06/436242.aspx"&gt;http://blogs.msdn.com/theshow/archive/2005/07/06/436242.aspx&lt;/A&gt;. Also see &lt;A href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/about_the_windows_event_log.asp?frame=true"&gt;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/about_the_windows_event_log.asp?frame=true&lt;/A&gt; (and its worth checking out &lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA5"&gt;http://msdn.microsoft.com/windowsvista/top10/#CTA5&lt;/A&gt; for the bigger picture in Vista)&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;If you were at PDC, you will also have seen Crimson in action.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;So I thought it would be good to show how to raise crimson events from .NET (using C# and .NET 2.0 beta 2!)&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;So here is the plan based "loosely" upon &lt;A href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/developing_event_publishers.asp"&gt;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/developing_event_publishers.asp&lt;/A&gt;&amp;nbsp;:&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=1&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=1&gt;Create an Instrumentation Manifest - this contains the definitions for the channels, events etc. 
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=2&gt;Build/Register the Manifest - the channels/events need installing and we need a DLL. 
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=3&gt;Wrap the API in .NET - Since the new event log does not have .NET support, we need to either use "backwards compatibility" or P/Invoke. We'll use P/Invoke. 
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=4&gt;Raise Event - and view it in the event viewer!&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Over the next day or two I'll be explaining how to do this.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=471207" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/daiken/archive/tags/Instrumentation/default.aspx">Instrumentation</category></item></channel></rss>