Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / SapiInterop / SapiGrammar.cs / 1 / SapiGrammar.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // All the calls to SAPI interfaces are wrapped into the class 'SapiRecognizer', // 'SapiContext' and 'SapiGrammar'. // // The SAPI call are executed in the context of a proxy that is either a // pass-through or forward the request to an MTA thread for SAPI 5.1 // // History: // 4/1/2006 [....] //----------------------------------------------------------------- using System; using System.Collections.Generic; using System.Speech.Recognition; using System.Speech.Internal.ObjectTokens; using System.Runtime.InteropServices; using System.Text; namespace System.Speech.Internal.SapiInterop { internal class SapiGrammar : IDisposable { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors internal SapiGrammar (ISpRecoGrammar sapiGrammar, SapiProxy thread) { _sapiGrammar = sapiGrammar; _sapiProxy = thread; } public void Dispose () { if (!_disposed) { Marshal.ReleaseComObject (_sapiGrammar); GC.SuppressFinalize (this); _disposed = true; } } #endregion //******************************************************************** // // Internal Methods // //******************************************************************* #region Internal Methods internal void SetGrammarState (SPGRAMMARSTATE state) { _sapiProxy.Invoke2 (delegate { _sapiGrammar.SetGrammarState (state); }); } internal void SetWordSequenceData (string text, SPTEXTSELECTIONINFO info) { SPTEXTSELECTIONINFO selectionInfo = info; _sapiProxy.Invoke2 (delegate { _sapiGrammar.SetWordSequenceData (text, (uint) text.Length, ref selectionInfo); }); } internal void LoadCmdFromMemory (IntPtr grammar, SPLOADOPTIONS options) { _sapiProxy.Invoke2 (delegate { _sapiGrammar.LoadCmdFromMemory (grammar, options); }); } internal void LoadDictation (string pszTopicName, SPLOADOPTIONS options) { _sapiProxy.Invoke2 (delegate { _sapiGrammar.LoadDictation (pszTopicName, options); }); } internal SAPIErrorCodes SetDictationState (SPRULESTATE state) { return (SAPIErrorCodes) _sapiProxy.Invoke (delegate { return _sapiGrammar.SetDictationState (state); }); } internal SAPIErrorCodes SetRuleState (string name, SPRULESTATE state) { return (SAPIErrorCodes) _sapiProxy.Invoke (delegate { return _sapiGrammar.SetRuleState (name, IntPtr.Zero, state); }); } /* * The Set of methods are only available with SAPI 5.3. There is no need then to use the SAPI proxy to switch * the call to an MTA thread. * */ internal void SetGrammarLoader (ISpGrammarResourceLoader resourceLoader) { SpRecoGrammar2.SetGrammarLoader (resourceLoader); } internal void LoadCmdFromMemory2 (IntPtr grammar, SPLOADOPTIONS options, string sharingUri, string baseUri) { SpRecoGrammar2.LoadCmdFromMemory2 (grammar, options, sharingUri, baseUri); } internal void SetRulePriority (string name, UInt32 id, Int32 priority) { SpRecoGrammar2.SetRulePriority (name, id, priority); } internal void SetRuleWeight (string name, UInt32 id, float weight) { SpRecoGrammar2.SetRuleWeight (name, id, weight); } internal void SetDictationWeight (float weight) { SpRecoGrammar2.SetDictationWeight (weight); } #endregion //******************************************************************** // // Internal Properties // //******************************************************************** #region Internal Properties internal ISpRecoGrammar2 SpRecoGrammar2 { get { if (_sapiGrammar2 == null) { _sapiGrammar2 = (ISpRecoGrammar2) _sapiGrammar; } return (ISpRecoGrammar2) _sapiGrammar2; } } #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Methods private ISpRecoGrammar2 _sapiGrammar2; private ISpRecoGrammar _sapiGrammar; private SapiProxy _sapiProxy; private bool _disposed; #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
- fixedPageContentExtractor.cs
- SchemaManager.cs
- FlowLayoutPanelDesigner.cs
- Int16Animation.cs
- PieceDirectory.cs
- SplashScreenNativeMethods.cs
- AcceptorSessionSymmetricTransportSecurityProtocol.cs
- SelfSignedCertificate.cs
- LocatorGroup.cs
- DataGridViewColumnHeaderCell.cs
- CodeDOMUtility.cs
- CacheHelper.cs
- RadioButton.cs
- DataGridCommandEventArgs.cs
- SerialPort.cs
- NetworkStream.cs
- StrongNamePublicKeyBlob.cs
- LostFocusEventManager.cs
- CompiledWorkflowDefinitionContext.cs
- ObjectDataSourceStatusEventArgs.cs
- EntityDescriptor.cs
- SafeBitVector32.cs
- XamlBrushSerializer.cs
- DependencyPropertyHelper.cs
- OdbcDataAdapter.cs
- KeyPullup.cs
- RepeaterItemEventArgs.cs
- Win32.cs
- ResourceExpressionBuilder.cs
- WebServiceClientProxyGenerator.cs
- ChannelManager.cs
- CatalogPart.cs
- QueryableDataSourceEditData.cs
- EmptyEnumerator.cs
- SoapExtensionTypeElementCollection.cs
- AssemblyAttributesGoHere.cs
- MappedMetaModel.cs
- httpapplicationstate.cs
- QuadraticBezierSegment.cs
- ButtonChrome.cs
- Geometry.cs
- ServiceModelExtensionElement.cs
- DataGridPagerStyle.cs
- _KerberosClient.cs
- ProjectedSlot.cs
- Environment.cs
- SafeEventHandle.cs
- WindowsSolidBrush.cs
- XmlSchemaGroupRef.cs
- DataGridViewBindingCompleteEventArgs.cs
- WizardStepBase.cs
- GetPageNumberCompletedEventArgs.cs
- UidManager.cs
- EnumBuilder.cs
- DeferredBinaryDeserializerExtension.cs
- WindowsEditBoxRange.cs
- MetricEntry.cs
- TemplateParser.cs
- SHA384CryptoServiceProvider.cs
- ZoneMembershipCondition.cs
- PriorityChain.cs
- QualifiedCellIdBoolean.cs
- DescriptionCreator.cs
- ParentUndoUnit.cs
- FrameAutomationPeer.cs
- PkcsMisc.cs
- SoapCodeExporter.cs
- ApplicationId.cs
- PerformanceCounter.cs
- ListItemCollection.cs
- ContentElement.cs
- ImmutableAssemblyCacheEntry.cs
- ServiceElement.cs
- EntitySetBaseCollection.cs
- XmlQualifiedName.cs
- ChtmlTextWriter.cs
- Mapping.cs
- SmtpNetworkElement.cs
- DBCommandBuilder.cs
- AnnotationElement.cs
- MgmtConfigurationRecord.cs
- ApplicationId.cs
- ContentPlaceHolderDesigner.cs
- ActivationArguments.cs
- ZipIOExtraField.cs
- OrderByBuilder.cs
- ContentFileHelper.cs
- ObjectQueryProvider.cs
- DoubleAnimationUsingKeyFrames.cs
- CommonXSendMessage.cs
- SystemUdpStatistics.cs
- XmlnsCompatibleWithAttribute.cs
- DataServiceRequestException.cs
- SafeCancelMibChangeNotify.cs
- OleDbError.cs
- LineVisual.cs
- BackStopAuthenticationModule.cs
- DebugInfoGenerator.cs
- DataObject.cs
- DeferredReference.cs