Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / ObjectToken / ObjectTokenCategory.cs / 1 / ObjectTokenCategory.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description:
// Object Token Category
//
// History:
// 7/1/2004 [....]
//---------------------------------------------------------------------------
using Microsoft.Win32;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
namespace System.Speech.Internal.ObjectTokens
{
///
/// Summary description for ObjectTokenCategory.
///
internal class ObjectTokenCategory : RegistryDataKey, IEnumerable
{
//*******************************************************************
//
// Constructors
//
//*******************************************************************
#region Constructors
protected ObjectTokenCategory (string keyId, RegistryKey hkey)
: base (keyId, hkey)
{
}
static internal ObjectTokenCategory Create (string sCategoryId)
{
string id;
RegistryKey hkey = ObjectToken.CreateKey (sCategoryId, false, out id);
if (hkey != null)
{
return new ObjectTokenCategory (id, hkey);
}
return null;
}
#endregion
//********************************************************************
//
// Internal Methods
//
//*******************************************************************
#region internal Methods
internal ObjectToken OpenToken (string keyName)
{
// Check if the token is for a voice
string tokenName = keyName;
if (!string.IsNullOrEmpty (tokenName) && tokenName.IndexOf ("HKEY_", StringComparison.Ordinal) != 0)
{
tokenName = string.Format (CultureInfo.InvariantCulture, @"{0}\Tokens\{1}", Id, tokenName);
}
bool fVoiceToken = !string.IsNullOrEmpty (tokenName) && tokenName.IndexOf (@"Voices\Tokens", StringComparison.Ordinal) > 0;
return fVoiceToken ? VoiceObjectToken.Create (null, tokenName) : ObjectToken.Create (null, tokenName, false);
}
#if false
internal ObjectToken CreateToken (string keyName)
{
return new ObjectToken (Id, @"Token\" + keyName, true);
}
internal void DeleteToken (string keyName)
{
DeleteKey (@"Token\" + keyName);
}
#endif
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator ()
{
RegistryDataKey token;
if (TryOpenKey ("Tokens", out token))
{
foreach (RegistryDataKey key in token)
{
string id = key.Id;
yield return OpenToken (key.Id);
key.Dispose ();
}
token.Dispose ();
}
}
IEnumerator IEnumerable.GetEnumerator ()
{
return ((IEnumerable) this).GetEnumerator ();
}
#endregion
#endregion
//********************************************************************
//
// Protected Methods
//
//********************************************************************
#region Protected Methods
protected override void Dispose (bool disposing)
{
base.Dispose (disposing);
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NamedPermissionSet.cs
- DeploymentSection.cs
- DataTableReader.cs
- CqlBlock.cs
- ExpressionPrefixAttribute.cs
- UdpContractFilterBehavior.cs
- ManualResetEvent.cs
- TypeDependencyAttribute.cs
- CodeIterationStatement.cs
- CommandEventArgs.cs
- DesignerCapabilities.cs
- ResourceContainer.cs
- RotationValidation.cs
- InvokePatternIdentifiers.cs
- Win32Exception.cs
- RequestResizeEvent.cs
- NavigationPropertyEmitter.cs
- ArraySubsetEnumerator.cs
- DocumentPageViewAutomationPeer.cs
- SecondaryIndexList.cs
- MetadataArtifactLoaderFile.cs
- LinqDataSource.cs
- VSDExceptions.cs
- QueuePathDialog.cs
- Behavior.cs
- CodeDomComponentSerializationService.cs
- WebRequestModuleElement.cs
- XamlRtfConverter.cs
- SqlConnectionStringBuilder.cs
- CodeTypeDelegate.cs
- ImageButton.cs
- GraphicsPathIterator.cs
- ChannelDispatcherCollection.cs
- AspCompat.cs
- GuidTagList.cs
- Int16Converter.cs
- Ref.cs
- ColorTranslator.cs
- RawTextInputReport.cs
- EncryptedPackage.cs
- RectangleGeometry.cs
- WeakRefEnumerator.cs
- CodeDomSerializationProvider.cs
- CollaborationHelperFunctions.cs
- EventProvider.cs
- ImageSourceValueSerializer.cs
- SqlDataSourceCustomCommandEditor.cs
- SelectionEditor.cs
- TextHidden.cs
- SafeTimerHandle.cs
- LicenseManager.cs
- RectAnimationBase.cs
- ProcessHost.cs
- NamedObject.cs
- SqlDependencyListener.cs
- TransactionContextValidator.cs
- ChannelTokenTypeConverter.cs
- DataGridViewCellStateChangedEventArgs.cs
- WindowsButton.cs
- XDeferredAxisSource.cs
- DocumentSequenceHighlightLayer.cs
- SiteMapNodeItem.cs
- ServiceHostingEnvironment.cs
- ObjectConverter.cs
- WebPartCancelEventArgs.cs
- SqlStream.cs
- PerfProviderCollection.cs
- SystemKeyConverter.cs
- DateTimeFormat.cs
- CompositeClientFormatter.cs
- AssemblyBuilderData.cs
- RIPEMD160.cs
- ItemCheckEvent.cs
- OleDbException.cs
- TagMapCollection.cs
- FixedHyperLink.cs
- CodeBlockBuilder.cs
- CreatingCookieEventArgs.cs
- ToolboxCategoryItems.cs
- TaiwanCalendar.cs
- ModelTreeEnumerator.cs
- Baml2006ReaderSettings.cs
- ValidationPropertyAttribute.cs
- ChannelFactoryBase.cs
- Transaction.cs
- FunctionCommandText.cs
- StorageModelBuildProvider.cs
- GatewayDefinition.cs
- DataListComponentEditor.cs
- BinaryConverter.cs
- GridViewPageEventArgs.cs
- GestureRecognitionResult.cs
- UpdateRecord.cs
- SynchronizedInputProviderWrapper.cs
- ListViewHitTestInfo.cs
- ButtonRenderer.cs
- TabRenderer.cs
- PerformanceCountersElement.cs
- CoTaskMemHandle.cs
- MbpInfo.cs