//======================================================================================= // // This source code is only intended as a supplement to existing Microsoft documentation. // // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR // PURPOSE. // // Copyright (C) Microsoft Corporation. All Rights Reserved. // //======================================================================================= // // Purpose: // Shows how to add property pages. // //======================================================================================= // // Description: // Uses a MmcListView to load a list of Users. Adds a property page to the property // sheet for the selected ResultNode. // //======================================================================================= using System; using System.ComponentModel; using System.Security.Permissions; using Microsoft.ManagementConsole; [assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, Unrestricted = true)] namespace Microsoft.ManagementConsole.Samples { /// /// RunInstaller attribute - Allows the .Net framework InstallUtil.exe to install the assembly. /// SnapInInstaller class - Installs snap-in for MMC. /// [RunInstaller(true)] public class InstallUtilSupport : SnapInInstaller { } /// /// SnapInSettings attribute - Used to set the registration information for the snap-in. /// SnapIn class - Provides the main entry point for the creation of a snap-in. /// PropertySheetSnapIn class - Shows property page for selected list item /// [SnapInSettings("{2D3BD1F0-1404-4fcf-BBE1-0F45E908E923}", DisplayName = "- Property Sheet Sample", Description = "User List with Property Sheet SnapIn")] public class PropertySheetSnapIn : SnapIn { /// /// Constructor /// public PropertySheetSnapIn() { // snap-in node ScopeNode scopeNode = new SampleScopeNode(); scopeNode.DisplayName = "Property Sheet Sample"; this.RootNode = scopeNode; this.RootNode.EnabledStandardVerbs = StandardVerbs.Properties; // snap-in result list view MmcListViewDescription mmcListViewDescription = new MmcListViewDescription(); mmcListViewDescription.DisplayName = "User List with Properties"; mmcListViewDescription.ViewType = typeof(UserListView); mmcListViewDescription.Options = MmcListViewOptions.SingleSelect; scopeNode.ViewDescriptions.Add(mmcListViewDescription); scopeNode.ViewDescriptions.DefaultIndex = 0; } } /// /// /// public class SampleScopeNode : ScopeNode { /// /// Constructor /// public SampleScopeNode() { } /// /// OnAddPropertyPages is used to get the property pages to show. /// (triggered by Properties verbs) /// /// property pages protected override void OnAddPropertyPages(PropertyPageCollection propertyPageCollection) { propertyPageCollection.Add(new ScopePropertyPage(this)); } } } // namespace