}// OpenMyResultPropertyPage private void OpenPropertyPage(String sTitle, CDO cdo, Object o, int nScopeItem, bool fReallyOpen) { if (CNodeManager.FindPropertyPage(cdo) != HRESULT.S_OK && fReallyOpen) { // Note, doing this stuff will only work if called from the main MMC thread. // If it needs to be called from a helper thread or from a property page // thread then marshalling should be set up using the framework provided // in CNodeManager IPropertySheetProvider psp = (IPropertySheetProvider) new NodeManager(); psp.CreatePropertySheet(sTitle, 1, Cookie, cdo, 0); psp.AddPrimaryPages(o, 1, 0, nScopeItem); psp.Show(IntPtr.Zero, 0); } }// OpenPropertyPage