Home > Store

Developing WMI Solutions: A Guide to Windows Management Instrumentation

Register your product to gain access to bonus material or receive a coupon.

Developing WMI Solutions: A Guide to Windows Management Instrumentation


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2003
  • Dimensions: 7-3/8" x 9-1/4"
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-61613-0
  • ISBN-13: 978-0-201-61613-2

"Craig and Gwyn bring their insight and experience with WMI to explain how easy it is to write powerful management applications through WMI on the .NET platform."

—Andy Cheung, Microsoft WMI Test Engineer

Windows Management Instrumentation (WMI) is an impressive technology that provides, for the first time, an integrated approach to hardware and software management for the Windows operating system. Developing WMI Solutions gives administrators and developers the skills necessary to take advantage of the power of WMI with Windows 2000, XP, and .NET Server.

Developing WMI Solutions starts with an overview of the concepts behind systems management. The authors then provide a synopsis of existing management architectures, as well as an explanation of the architectural components of WMI and the tools provided by Microsoft for their use. Also included is a WMI scripting boot camp for administrators using samples in VBScript, plus a series of best practices that give scripts a professional edge.

You will find thorough coverage of such topics as:

  • The Common Information Model (CIM)
  • Developing CIM extended schemas
  • Management-application development using C++ and COM for WMI
  • MMC snap-in development using C++ and COM, presented as a tutorial
  • WMI providers and the necessary C++ and COM skills needed to expose class schema
  • Developing management applications using the .NET Framework—the first comprehensive guide to the WMI classes in the System.Management namespace
  • Finally, developers will learn about the often undersold but extremely powerful high-performance event-tracing mechanism available in Windows, which allows developers to expose detailed information about operations in an application.

    The companion Web site, located at http://www.wbem.co.uk, includes the complete set of code examples found in the book, as well as updates and related articles.

    Both a tutorial and a reference, Developing WMI Solutions is an essential companion for network administrators, software developers, and team leaders looking to become proficient with WMI.


    Sample Content

    Online Sample Chapter

    A Guided Tour of the Common Information Model Repository


    Click below for Excerpt(s) related to this title:

    Table of Contents


    1. Introduction.

    Structure of the Book.

    Pedagogical Elements.

    Target Audience.



    Software Requirements.

    Operating System Requirements.

    Hardware requirements.

    Introducing WBEM.

    WBEM's Basic Objectives.

    Core Objectives.

    The Central Information Store.

    The Common Information Model.

    Object Orientation and CIM.

    Building an Information Model.

    Structure of the Centralized Repository.

    The Three-Tiered Model.

    Acronyms and Terminology.

    Standards Bodies.


    De Facto and De Jure Standards.

    The Distributed Management Task Force.

    The World Wide Web Consortium.

    Web-Based Enterprise Management.

    Windows Management Instrumentation.

    Common Information Model.

    Common Information Model Repository.

    Managed Object Format.

    Simple Network Management Protocol.

    Common Management Information Services.

    Common Management Information Protocol.

    Desktop Management Interface.

    eXtensible Markup Language.

    Hypertext Transfer Protocol.

    Extended Schemas.

    WMI Scripting.


    Ten Fast Facts: Web Based-Enterprise Management.

    2. Existing Management Frameworks.

    New and Old Technologies Combined.

    The Need for a Universal Management Model.

    The Simple Network Management Protocol.

    A Simple Solution to a Complex Problem.

    The SNMP Network Management Station.

    Relevant SNMP Standards.

    Structure of an SNMP Message.


    Event Notification-SNMP Traps and Informs.

    The Management Information Base.

    SNMP Security.

    Modus Operandi.

    Advantages of the SNMP Protocol.

    Disadvantages of the SNMP Protocol.

    The Desktop Management Interface.

    The DMI Information Model: The Management Store.


    Notification of Events.

    DMI Security.

    MIF Database Security.

    Management Interface Security.

    Component Interface Security.

    Security Indications.

    Advantages of the DMI.

    Disadvantages of the DMI.


    3. Windows Management Instrumentation.

    The Standard WBEM Components.

    Installing WMI.

    Installation files.

    Configuring Windows 98 for WMI.

    Core Components of WMI.

    WinMgmt.exe: The Windows Management Service.

    mofcomp.exe: The Microsoft MOF Compiler.

    The WMI Control.

    Windows Management Instrumentation Tester.

    Automatic MOF Registration.

    WMI Log Files.

    WMI CIM Repository.

    Windows Management Instrumentation.

    The Basic Framework of WMI.

    WMI management applications.

    Direct Access.

    Indirect Access.


    Types of Providers.

    Event Providers.

    Data Providers.

    Event Handling.

    Intrinsic Events.

    Extrinsic Events.

    Timer Events.

    Event Consumer.

    Temporary Consumers.

    Permanent Consumers.

    WMI Security.

    WMI Permission Assignment Using WMI Control.

    The WMI Query Language.

    Data Queries.

    Event Queries.

    Schema Queries.


    Ten Fast Facts: Windows Management Instrumentation.

    4. A Guided Tour of the Common Information Model Repository.


    Dynamic and Static Data.

    Dynamic Data and the CIM Repository.

    The Common Information Model.

    The Core Model.

    The Common Model.

    The Extended Schemas.


    Using the CIMV2 Namespace.

    WMI Namespaces and the CIM Repository.

    Defining and Using Your Own Namespace.

    Namespaces and Schemas.

    Using Existing Schemas.

    Subclassing and Instantiating Existing Classes in the CIMV2 Namespace.

    Modifying Existing Classes.

    Managed Object Format.

    MOF Class Declaration.



    Custom Qualifiers.

    User-Defined Qualifiers.

    Intrinsic Data Types.

    Instance Creation.


    A Compileable MOF File.

    ActiveX Components.

    Let the Tour Begin!

    The Class Explorer Explained.


    Key Propagation.

    Namespaces and Associations.

    System Properties.

    Object and Property Qualifiers.

    CIM Studio Functions.

    Help for a Class.

    Browse for a Namespace.

    Search for a Class.

    Instance Enumeration.

    Change the View (System Properties and Inherited Properties).

    WQL Queries Tool.

    Add a Class.

    Create an Association.

    Delete a Class or Association.

    Delete a Property.

    Add an Instance.

    Delete an Instance.

    Places of Interest within the CIM Repository.

    The Provider Classes.

    The Namespace Classes.

    Create a Namespace.

    Delete a Namespace.

    Tutorial: Creating a Namespace and Adding Classes, Properties, and an Association.

    The Wizards.

    The MOF Generator.

    The MOF Compiler.

    The Provider Code Generator.


    Ten Fast Facts: CIM Repository.

    5. Developing Class Schemas.

    Who is the chapter for?

    Schema Design and System Manageability.

    Case study: Client/Server Email Package.

    Basic Functionality.

    System Requirements for Post Office Email System.

    The Unified Modeling Language.

    Further Reading in UML.

    Learning the CIM Schema and Win32 Extended Schemas.

    Psychological Requirements.

    Schema Design Timescales.

    Software Application Life Cycle.

    The Windows Installer and WMI.

    The Role of WMI with Standard Software Applications and Management Software Applications.

    Schema Design by Teams vs. Single Developers.

    When Should I Commit My Design to UML?

    Can I Design a Schema without UML?

    The Unified Modeling Language in Schema Design.

    A Brief Introduction to UML Object Modeling.

    Interpreting the Common Model in UML.

    The Schema Design Road Map.

    Basic Rules for Schema Design.

    WMI Topology Design.

    First approach.

    Second approach.

    Schema Design Phase.

    Step 1: Gather Information.

    Step 2: Define System Requirements, Rules and Assertions.

    Step 3: Define Classes and Properties.

    Step 4: Define Associations.

    Representing the PostOffice Schema in UML.


    Ten Fast Facts: Starting Schema Design Tips.

    6. Method Design and Schema Class Positioning.

    Properties vs. Methods.

    Methods, Operations and Functions.

    Step 5: Define Methods.

    Candidate Methods.

    Method Arguments.

    Method Overriding and Polymorphism.

    The Post Office Schema Methods.

    Method AddUser.

    Method RemoveUser.

    Method UnlockAccount.

    Method LockAccount.

    Method StopPostOffice.

    Method StartPostOffice.

    PostOffice Schema UML Diagram with Methods.


    Step 6: Check Schema Design.


    Rule Generation-Based UML Diagrams.

    Final Considerations—Future Additions.

    Final Step: Positioning Classes.

    Step-by-Step CIMV2 Namespace Class Positioning.

    Extending the CIMV2 Namespace.


    CIMV2 Class Placement Objectives.

    Putting Class Placement Theory into Practice.

    Namespace and Schema Placement.

    The Applications Namespace.

    Limitations of Multinamespace Class Positioning.

    Post Office Schema Namespace Positioning.

    The Post Office Schema Class Positions.

    Managed Object Format (MOF) Qualifiers and Flavors.

    MOF Creation and Testing.

    Implementing the Schema: WMI API Calls vs. MOF code.

    Multi-language support.

    The Post Office Schema in MOF.

    Compiling a Multilanguage MOF File.


    Schema Deployment.


    Schema Design and Positioning Q&A.

    7. Developing Management Applications.

    Getting Started.

    Object Paths Explained.

    Getting an Object.

    Enumerating Objects.

    Creating an Object.

    First Point.

    Second Point.

    Third Point.


    Updating Objects.

    Deleting an Object.

    Performing Queries.

    Making Method Calls.

    Manipulating Object Properties.

    Manipulating Array Object Properties.

    Accessing Objects from Object Properties.

    Making Semisynchronous Calls.

    Making Asynchronous Calls.

    WMI Error Messages.

    Overview of Events.

    Intrinsic Events.

    Extrinsic Events.

    Timer Events.

    How to Subscribe to Events.

    Writing Applications to Receive Semisynchronous Events.

    Writing Applications to Receive Asynchronous Events.

    More on Security.

    Classes that Require Specific Security Privileges.

    Localized Namespaces.

    Overview of High Performance Classes.

    Writing Applications to Access High-Performance Data.

    Access High-Performance Enumerated Data.


    Ten Fast Facts: Developing C++/COM Management Applications.

    8. Developing .NET Management Applications.

    Getting Started.

    Getting a Management Object.

    Enumerating Management Objects.

    Creating a Management Object.

    First Point.

    Second Point.

    Third Point.

    Updating Management Objects.

    Deleting a Management Object.

    Performing Queries.

    Making Method Calls.

    Manipulating Management Object Properties.

    Manipulating Array Object Properties.

    Accessing Objects from Object Properties.

    Making Asynchronous Calls.

    Overview of Events.

    Writing Applications to Receive Asynchronous Events.

    Writing Applications to Receive Semisynchronous Events.

    Managing Connections to WMI.


    Ten Fast Facts: Developing .NET Management Applications.

    9. Developing MMC Snap-ins.

    Snap-in Architecture.

    Getting Started.

    Snap-in Implementation Basics.

    Let's Make a Snap-in.

    Implementing IComponentData.

    Implementing IComponent.

    The Root Item and General Item Basics.

    Adding Your Own Namespace Items.

    Adding Your Own Columns.

    Adding Your Own Result Items.

    Setting Up and Handling Verbs.

    Adding Your Own Menus.

    Adding Your Own Toolbars.

    Adding Your Own Property Pages.

    Refocusing an Item's Property Sheet.

    Adding Your Own Help.

    Primary (Standalone) Snap-in Registration.

    More on How ATL Delegates Tasks to an Item.

    Renaming Items.

    Drag and Drop.

    Accessing Web Sites.

    Displaying Custom Views.

    Developing Extension Snap-ins.

    Exchanging Information between Primary and Extension Snap-ins.

    Extension Snap-in Registration.

    Making MMC Snap-ins Theme Aware.


    Ten Fast Facts: Developing MMC Snap-ins.

    10. Developing WMI Scripts for Administrators.

    Scripting, WMIC and the CIM Studio.

    Administration and the WMI CIM Studio.

    Administration and the WMIC.

    Administration and Scripting.

    Guiding Principles.


    Chapter Structure.

    VBScript Boot Camp.

    JavaScript vs. VBScript.

    Setting Up Your System for Scripting.

    Scripting and Administration.

    What Is the Windows Scripting Host?.


    Scripting vs. Compiled Languages.

    The Windows Scripting Host.

    Your First Script.



    Variants, Variables and Constants.

    Use Meaningful Variable Names.

    VBScript Functions.

    The WSH Object Model.

    Program Statements and Keywords.

    The Option Explicit Statement.

    Connecting to a Local or Remote Namespace.

    Security Issues.

    Deciding on the Level of Security Required.

    Data Input.

    Error Detection.

    Error Logging (NT/2000/XP Only).

    WMI Scripting Data Retrieval.

    Displaying Date and Time Values (XP only).

    Retrieving Subsets of Instances.

    WMI Data Modification Scripting Example.

    Data Deletion Scripting Example.

    Data Creation Scripting Example.

    Association Traversal Using VBScript.

    Executing Methods Using VBScript.


    Ten Fast Facts: Summary of VBScript boot camp.

    11. WMI Scripting and WMIC.

    Identifying the Correct Course of Action.

    Make a Note of the Problem Description.

    Divide the Problem into Its Constituent Parts.

    Decide Which Hardware or Software Components You Are Going to Manage.

    Which tool?

    Decide Whether Your Script Should Run Locally or Remotely on the Target Machines.

    Decide Whether Your Script Will Run Unattended or Attended.

    Determine the Variables and Constants.

    Candidate Constants.

    Candidate Variables.

    Determine the Sequence of Steps in the Task.

    Script Deployment and Execution.

    Local Execution and Storage.

    Local Execution from a Shared Resource.

    Remote Connection across a Network.

    Remote Invocation of a Script (Available Only with Windows Script v5.6).

    Script Execution Methods.

    Executing Scripts at Start Up.

    Execute the Script Using the Windows Scheduler.

    Event-driven Script Execution (Windows XP Only).

    Sending E-mail.

    Setting Up Your System for Debugging and Testing.

    Debugging Your Scripts.

    Windows Management Instrumentation Command-line (WMIC).

    Using WMIC.

    Interactive Mode.

    Configuring WMIC.

    Interacting with WMIC.

    The WHERE Clause.



    Looping WMIC Commands.

    Types of Output.


    Creating or Modifying Aliases Using the CIM Studio.

    Using WMIC in Non-Interactive Mode.


    Ten Fast Facts: WMIC Tips.

    12. Developing WMI Providers.

    Where to Start.

    Developing an Instance Provider.

    Provider Registration.

    Provider Initialization.

    Enumerating Objects.

    Getting an Object.

    Deleting an Object.

    Creating or Updating an Object.

    Querying for Your Objects.

    Instance Provider Registration.

    Developing a Method Provider.

    Executing Methods.

    Method Provider Registration.

    Developing an Event Provider.

    Firing Events.

    Event Provider Registration.

    Developing an Event Consumer Provider.

    Handling Event Notifications.

    Permanent Event Consumer Provider Registration.

    Developing a Property Provider.

    Exposing Dynamic Properties.

    Property Provider Registration.

    Developing a Push Provider.

    Pushing Data to the CIM Repository.

    Push Provider Registration.

    Security Considerations.


    Ten Fast Facts: Developing WMI Providers.

    13. High Performance Instrumentation.

    Overview of Event Tracing.

    Controlling Event Traces.

    Starting a Kernel Event-Tracing Session.

    Setting Up a Session's Configuration.

    Querying the Session's Configuration and Statistics.

    Stopping the Session.

    Starting Event-Tracing Sessions.

    Querying for Active Event-Tracing Sessions.

    Querying for Registered Event-Tracing Providers.

    Starting Private Event-Tracing Sessions.

    Developing an Event-Tracing Provider.

    Defining the Event Class Schema.

    Registering an Application as an Event-Tracing Provider.

    Developing the Provider's Control Call-Back Function.

    Producing an Event Trace.

    Producing a Hierarchical Event Trace.

    Analyzing Event-Trace Log Files.

    Processing an Event-Trace Log File.

    The Event Call-Back Function.

    The Buffer Call-Back Function.

    The Consumer Event-Tracing APIs.

    Monitoring Real-Time Event-Tracing Sessions.

    Providing and Analyzing Lightweight Events.

    Analyzing lightweight events.


    Ten Fast Facts: High Performance Instrumentation.

    Appendix A.

    Appendix B.



    Index. 0201616130T10172002


    Windows Management Instrumentation (WMI) is an impressive technology. For the first time the Windows Operating System employs a unified technology to represent software and hardware management. The power of WMI in systems management stretches to virtually every piece of software and hardware. So regardless of whether you're a team leader, software engineer or system administrator, WMI will probably affect you.

    Many applications written for Windows currently don't harness the power of a systems management technology (like WMI); this is what drove us to write this book. We want developers to realize that making an application manageable is a key benefit, especially to system administrators. Once system administrators and IT support departments realize what can be done with WMI, they will start demanding that applications expose WMI management interfaces. Not only will system administrators be happy, but you'll be able to harvest a wealth of information available from WMI when building your own management applications. The other side of the coin apart from making an application manageable is a 'management application.' A management application is a program (like an MMC snap-in) or web interface that can interact with the system to gather, inspect and manipulate the systems functionality or configuration. We also want system administrators to realize what they can do in a system equipped with a technology like WMI and how they should go about automating routine tasks.

    We are both very excited about WMI and hope to spread the word to help the computing world become a more managed place.

    Who is this book for and what is WMI?

    This book helps developers and system administrators understand Windows Management Instrumentation (WMI). WMI is a technology built into Windows which enables organizations to manage servers and user PCs connected to their networks. Systems management is becoming much more important as organizational networks become more complex. Systems management is not necessarily a new concept as existing protocols like SNMP (Simple Network Management Protocol) and DMI (Desktop Management Interface) have been around for a while. What is new is that it's been traditionally difficult to envisage a unified picture of the whole system. Understanding the hardware and software relationships in an organisations network are equally important. The SNMP world only took systems management as far as the hardware, like routers. The DMI world only took systems management as far as the desktop. This led to the reasons why the Distributed Management Task Force (DMTF) defined a protocol/schema called WBEM (Web Based Enterprise Management). Microsoft adopted WBEM and WMI was born. WMI is an implementation of the WBEM standard and it is also consistent with Microsoft's Total Cost of Ownership (TCO) initiative. WMI brings the power of managing a Windows network to unprecedented levels. For example, through WMI a system administrator can easily write a script that will identify what Windows service packs have been installed on all the machines in the network. Administrators can easily develop scripts to perform routine tasks for their network as well as exploiting powerful notification facilities inherent within WMI to identify problems before their users experience them. For this level of system manageability to be made possible, the Operating System, devices and application software needs to be instrumented. This means that hardware and software needs to expose its management interface through WMI. Hence, this book is important for developers to learn how to do this and it's important for administrators to learn how to exploit this technology which helps lower the TCO. This book is also important to software team leaders wishing to understand the impact of this new management model on development.

    How to approach this book and what you'll learn

    Developers and system administrators are the primary target audience for this book and will benefit from it in several ways. If you know nothing about systems management and/or WMI, don't worry. This book will take you from the beginning and develop your skills and knowledge in how to exploit WMI. We also intend for this book to be used as a reference. So if you want to develop a WMI provider in C++ to expose your software management interface, then you can go directly to Chapter 12. Likewise, if you want to get system management information in your .NET application, go to Chapter 8. Let's have a quick round up of each chapter.

    Chapter 1 - Introduction

    This chapter introduces the various concepts and terminology used in systems management, in particular, WMI. The spirit of the chapter highlights the necessity for a unified management standard like WBEM.

    Chapter 2 - Existing Management Frameworks

    This chapter aims to introduce the goals of WBEM and systems management by examining two existing management frameworks, SNMP and DMI. Still in widespread deployment both are thoroughly introduced from an architectural perspective and provide you with an introduction to the basic principles and rationale behind systems management prior to WBEM. The chapter ends by summarizing those characteristics considered desirable in a management framework and how these relate to WBEM.

    Chapter 3 - Windows Management Instrumentation

    This chapter covers a lot of ground to bring you up to speed with WMI. It covers installation and the various components that make up the WMI toolset. There's some detailed information on the WMI architecture and the various interactions between WMI subsystems. Essential WMI vocabulary is introduced so that you can understand the WMI features from a high level perspective. The latter part of the chapter introduces some of WMI's powerful query language facilities. This includes queries for data (management information), queries for events (notification of activity) and queries against the class schema (understanding relationships between management information).

    Chapter 4 - A guided tour of the Common Information Model Repository

    The chapter continues to explain how to understand the various class schemas and the WMI tools provided by Microsoft. The class schemas describe virtually every aspect of a network, computer and its operating system together with the installed software. Included in this chapter is an in-depth tutorial that provides an extensive introduction to the skills you will need as either an administrator or developer when using the Common Information Model. The chapter also covers in detail how all the different WMI building blocks fit together. There's the introduction of namespaces, classes, properties, qualifiers, flavours and associations.

    Chapter 5 - Developing Class Schemas

    From a development point of view, the most important place to start in making your own software/hardware manageable through a standard management environment is learning how to develop a class schema. This is the first of two chapters that discusses how to do this. This chapter is also applicable to system administrators who wish to understand more about how to interpret a WMI class schema (perhaps for an administration script or perhaps simply to obtain information from a user's PC). The main thrust of the chapter is to introduce schema design by approaching a case study. It approaches this from a project lifecycle perspective. So all the stages of the class schema development/design are discussed and of course, there's lots of advice and tips along the way right through to deployment.

    Chapter 6 - Method design and schema class positioning

    Continuing from Chapter 5, this chapter focuses on how to interpret and approach subtle differences in schema design. Such as should you use a method to create a management object or use the WMI standard mechanism for doing this? There's advice about looking forward to future management requirements when designing your classes and how they should be positioned within the schema. There's also advice on localizing your schema and much more.

    Chapter 7 - Developing Management Applications

    This is the first of the development-oriented chapters. Accessing the WMI management environment can be achieved in a number of ways. However, this chapter is aimed primarily at developers who need to use C++ and COM to obtain and manipulate information in the management environment. There are many possibilities why you might want to do this, but here's an example. "You need access to the management environment so that you can develop a tool for managing your application's configuration, perhaps by developing a user interface administration console." The chapter contains useful and concise code samples to demonstrate how easy it is to use WMI. There's also discussion about event notification, security, accessing high-performance classes and much more.

    Chapter 8 - Developing .NET Management Applications

    This chapter is on a similar level to Chapter 7, except that it focuses on how use the classes in the .NET Framework using C#. The .NET Framework from Microsoft is effectively a new execution environment for applications. C# is a new programming language ultimately designed to leverage developer productivity. You'll see how easy the .NET Framework has made management applications development through the various code samples. Virtually every class in the .NET Framework is discussed in some detail.

    Chapter 9 - Developing MMC Snap-ins

    The Microsoft Management Console is Microsoft's answer to providing a consistent user interface where administrators can find all their management tools. The facility to have a similar look-and-feel in the administrative user interface and the fact that all administration tools can be found in one place, means that MMC helps administrators move towards a lower cost of ownership. This tutorial-style chapter follows the C++ & COM developer through each stage of MMC snap-in development. By the end of the chapter, you will see how to use WMI to access and manipulate Windows Services in a user interface designed for administration. One of MMC's most powerful features is being able to develop and extend other snap-ins to add your own administration facilities.

    Chapter 10 - Developing WMI Scripts for Administrators

    This chapter is primarily aimed at the system administrator. The chapter (the first of two) assumes that you have very little experience with writing scripts (if at all) and therefore, starts at the beginning. The chapter starts by introducing the tools available for system administration and progresses to the VBScript boot camp. The boot camp introduces you to different types of problems you might experience and the techniques used to solve them. To enable you to get stuck in with the chapter's sample scripts, details on installing the Windows Scripting Host are covered. By the end of the chapter, you'll learn how to develop your own scripts that access and manipulate the management environment using WMI.

    Chapter 11 - WMI Scripting and WMIC

    This chapter builds on the lessons learned from Chapter 10. You learn from a systems management perspective (using a case study) how to break down administration problems and the scripting approach that you should use to solve them. Remote script execution is discussed as organisational networks contain a number of networked PCs. A new tool for the system administrator exists in Windows XP. It's called WMIC (Windows Management Instrumentation Command-line). WMIC is a command line tool that allows administrators to execute tasks and queries against the management environment. This chapter looks at WMIC in detail and provides you which a framework of quickly solving problems that WMIC would be good at. There's advice about how to debug scripts and more.

    Chapter 12 - Developing WMI Providers

    This is a crucial chapter in the book which describes how software and hardware developers can write their own WMI providers. WMI providers are the gateway for developers to expose their own class schema. The chapter assumes that you have development skills in C++ & COM. There are many different types of provider's that can be developed and this chapter covers virtually all of them. The chapter starts by implementing a very simple fruit basket WMI instance provider and progresses to method, event, permanent event consumer, property and push providers. The knowledge gained from this chapter will form a solid grounding in developing WMI providers. Although not explicitly covered by the chapter, the source code accompanying the book contains a WMI provider ATL-like framework for accelerating your provider development.

    Chapter 13 - High Performance Instrumentation

    Finally, the book covers a very little-known subject of the WMI toolset called Event Tracing. Event Tracing is a very powerful and high performance method of instrumenting applications. It allows applications to expose very detailed information about an operation or task. The operating system uses this technology to expose activity in the Windows kernel, security subsystems and numerous other subsystems.

    Where can I find the sample source code and scripts?

    All the source code and scripts can be found on the website that accompanies the book, http://www.wbem.co.uk/. This includes the MOF files, Visual C++ 6.0 projects, Visual Studio .NET projects and the VB Scripts. The projects for the sample code from Chapters 7 and 8 contain many more short functions to demonstrate different aspects of accessing WMI. So if you're not sure how to do something that's not explicitly covered by the chapters, check the sample projects.


    New terms and acronyms are introduced throughout the book. The glossary summarizes these at the end of the book.



    Click below to download the Index file related to this title:


    Submit Errata

    More Information

    Unlimited one-month access with your purchase
    Free Safari Membership