Extending the Applications Snap-in

This section discusses the steps required to extend the Applications snap-in extension property sheet and write the data created through this extension to the appropriate Group Policy preference XML-based file using the XML DOM-based architecture.

The following figure shows an example of an extension to the Applications snap-in called "<<APPLICATION_NAME>>". With the extension you can add new Application items to the Applications preference extension.

extension to the applications snap-in

All Group Policy preference snap-ins are based on the principle that the snap-in extension developer will supply a set of property pages that extend the primary page supplied by preferences. There is a primary page used by all application snap-in extensions known as the "Application" tab. This page is implemented as tab zero in the property sheet.

application tab, also known as tab 0

Be aware that preferences also implement the "Common" tab on all property sheets, and this tab will generally display as tab 1.

common tab, also known as tab 1


In the following topics, be aware that {CLSID}, {EXTID}, and {nodetypeGUID} all denote string representations of the specified CLSIDs and GUIDs. Strings must begin with an open brace ({) and end with a close brace (}).


Extending the Applications Snap-in Base Property Pages

  1. Register the Extension to the Property Sheet of the Applications Snap-in
  2. Implement support for Applications snap-in menu integration
  3. Obtain the IXMLDOMDocument* from the primary snap-in IDataObject
  4. Filter display of property pages using the extid attribute
  5. Implement the IExtendPropertySheet2::CreatePropertyPages method to display property pages
  6. Implement an apply handler for each page
  7. Implement a Dialog Box Procedure for Each Property Sheet
  8. Implement help support (optional)
  9. Release the IXMLDOMDocument* Object