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.
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.
Be aware that preferences also implement the "Common" tab on all property sheets, and this tab will generally display as tab 1.
Note
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
- Register the Extension to the Property Sheet of the Applications Snap-in
- Implement support for Applications snap-in menu integration
- Obtain the IXMLDOMDocument* from the primary snap-in IDataObject
- Filter display of property pages using the extid attribute
- Implement the IExtendPropertySheet2::CreatePropertyPages method to display property pages
- Implement an apply handler for each page
- Implement a Dialog Box Procedure for Each Property Sheet
- Implement help support (optional)
- Release the IXMLDOMDocument* Object