Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / SapiInterop / SapiRecoContext.cs / 1 / SapiRecoContext.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // All the calls to SAPI interfaces are wraped 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 proxy for SAPI 5.1 // // History: // 4/1/2006 jeanfp //----------------------------------------------------------------- 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 SapiRecoContext : IDisposable { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors // This constuctor must be called in the context of the backgroung proxy if any internal SapiRecoContext (ISpRecoContext recoContext, SapiProxy proxy) { _recoContext = recoContext; _proxy = proxy; } public void Dispose () { if (!_disposed) { // Called from the client proxy _proxy.Invoke2 (delegate { Marshal.ReleaseComObject (_recoContext); }); _disposed = true; } GC.SuppressFinalize (this); } #endregion //******************************************************************** // // Internal Methods // //******************************************************************* #region Internal Methods internal void SetInterest (UInt64 eventInterest, UInt64 queuedInterest) { _proxy.Invoke2 (delegate { _recoContext.SetInterest (eventInterest, queuedInterest); }); } internal SapiGrammar CreateGrammar (UInt64 id) { ISpRecoGrammar sapiGrammar; return (SapiGrammar) _proxy.Invoke (delegate { _recoContext.CreateGrammar (id, out sapiGrammar); return new SapiGrammar (sapiGrammar, _proxy); }); } internal void SetMaxAlternates (UInt32 count) { _proxy.Invoke2 (delegate { _recoContext.SetMaxAlternates (count); }); } internal void SetAudioOptions (SPAUDIOOPTIONS options, IntPtr audioFormatId, IntPtr waveFormatEx) { _proxy.Invoke2 (delegate { _recoContext.SetAudioOptions (options, audioFormatId, waveFormatEx); }); } internal void Bookmark (SPBOOKMARKOPTIONS options, UInt64 position, IntPtr lparam) { _proxy.Invoke2 (delegate { _recoContext.Bookmark (options, position, lparam); }); } internal void Resume () { _proxy.Invoke2 (delegate { _recoContext.Resume (0); }); } internal void SetContextState (SPCONTEXTSTATE state) { _proxy.Invoke2 (delegate { _recoContext.SetContextState (state); }); } internal EventNotify CreateEventNotify (AsyncSerializedWorker asyncWorker, bool supportsSapi53) { return (EventNotify) _proxy.Invoke (delegate { return new EventNotify ((ISpEventSource) _recoContext, asyncWorker, supportsSapi53); }); } internal void DisposeEventNotify (EventNotify eventNotify) { _proxy.Invoke2 (delegate { eventNotify.Dispose (); }); } internal void SetGrammarOptions (SPGRAMMAROPTIONS options) { _proxy.Invoke2 (delegate { ((ISpRecoContext2) _recoContext).SetGrammarOptions (options); }); } #endregion //******************************************************************** // // Private Fields // //******************************************************************** #region Private Fields private ISpRecoContext _recoContext; private SapiProxy _proxy; private bool _disposed; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // All the calls to SAPI interfaces are wraped 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 proxy for SAPI 5.1 // // History: // 4/1/2006 jeanfp //----------------------------------------------------------------- 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 SapiRecoContext : IDisposable { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors // This constuctor must be called in the context of the backgroung proxy if any internal SapiRecoContext (ISpRecoContext recoContext, SapiProxy proxy) { _recoContext = recoContext; _proxy = proxy; } public void Dispose () { if (!_disposed) { // Called from the client proxy _proxy.Invoke2 (delegate { Marshal.ReleaseComObject (_recoContext); }); _disposed = true; } GC.SuppressFinalize (this); } #endregion //******************************************************************** // // Internal Methods // //******************************************************************* #region Internal Methods internal void SetInterest (UInt64 eventInterest, UInt64 queuedInterest) { _proxy.Invoke2 (delegate { _recoContext.SetInterest (eventInterest, queuedInterest); }); } internal SapiGrammar CreateGrammar (UInt64 id) { ISpRecoGrammar sapiGrammar; return (SapiGrammar) _proxy.Invoke (delegate { _recoContext.CreateGrammar (id, out sapiGrammar); return new SapiGrammar (sapiGrammar, _proxy); }); } internal void SetMaxAlternates (UInt32 count) { _proxy.Invoke2 (delegate { _recoContext.SetMaxAlternates (count); }); } internal void SetAudioOptions (SPAUDIOOPTIONS options, IntPtr audioFormatId, IntPtr waveFormatEx) { _proxy.Invoke2 (delegate { _recoContext.SetAudioOptions (options, audioFormatId, waveFormatEx); }); } internal void Bookmark (SPBOOKMARKOPTIONS options, UInt64 position, IntPtr lparam) { _proxy.Invoke2 (delegate { _recoContext.Bookmark (options, position, lparam); }); } internal void Resume () { _proxy.Invoke2 (delegate { _recoContext.Resume (0); }); } internal void SetContextState (SPCONTEXTSTATE state) { _proxy.Invoke2 (delegate { _recoContext.SetContextState (state); }); } internal EventNotify CreateEventNotify (AsyncSerializedWorker asyncWorker, bool supportsSapi53) { return (EventNotify) _proxy.Invoke (delegate { return new EventNotify ((ISpEventSource) _recoContext, asyncWorker, supportsSapi53); }); } internal void DisposeEventNotify (EventNotify eventNotify) { _proxy.Invoke2 (delegate { eventNotify.Dispose (); }); } internal void SetGrammarOptions (SPGRAMMAROPTIONS options) { _proxy.Invoke2 (delegate { ((ISpRecoContext2) _recoContext).SetGrammarOptions (options); }); } #endregion //******************************************************************** // // Private Fields // //******************************************************************** #region Private Fields private ISpRecoContext _recoContext; private SapiProxy _proxy; private bool _disposed; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DivideByZeroException.cs
- WebPartEditVerb.cs
- WebServiceEnumData.cs
- CacheDict.cs
- Configuration.cs
- Converter.cs
- NullToBooleanConverter.cs
- CodeAttributeArgument.cs
- HScrollBar.cs
- ImmutableObjectAttribute.cs
- HijriCalendar.cs
- StreamGeometryContext.cs
- ReadWriteObjectLock.cs
- WebBrowserContainer.cs
- PointHitTestResult.cs
- QilChoice.cs
- RowParagraph.cs
- SchemaElementDecl.cs
- WebPartConnectionCollection.cs
- CodeDelegateInvokeExpression.cs
- XmlSchemaType.cs
- CustomAttribute.cs
- WizardStepCollectionEditor.cs
- AppDomainUnloadedException.cs
- DataShape.cs
- ProcessProtocolHandler.cs
- CreateUserWizard.cs
- FaultBookmark.cs
- SigningCredentials.cs
- XPathNavigator.cs
- FixedDocument.cs
- PointAnimationUsingPath.cs
- ClientScriptItem.cs
- TripleDESCryptoServiceProvider.cs
- Expression.cs
- Operators.cs
- TextFindEngine.cs
- ContentPresenter.cs
- COM2ExtendedBrowsingHandler.cs
- TrimSurroundingWhitespaceAttribute.cs
- Events.cs
- COM2TypeInfoProcessor.cs
- DefaultValueTypeConverter.cs
- CodeNamespaceImportCollection.cs
- Pair.cs
- SourceSwitch.cs
- DocumentSequence.cs
- GenericIdentity.cs
- Pointer.cs
- PeerIPHelper.cs
- FileClassifier.cs
- WindowExtensionMethods.cs
- String.cs
- SchemaConstraints.cs
- Tuple.cs
- PreApplicationStartMethodAttribute.cs
- SqlCommandBuilder.cs
- HwndKeyboardInputProvider.cs
- ColumnResizeAdorner.cs
- SynchronizedDispatch.cs
- AttributeUsageAttribute.cs
- CustomErrorCollection.cs
- UTF32Encoding.cs
- MergeFailedEvent.cs
- HierarchicalDataSourceControl.cs
- DataTableReaderListener.cs
- DataGridViewCellMouseEventArgs.cs
- InputGestureCollection.cs
- SchemaLookupTable.cs
- DocumentPropertiesDialog.cs
- AdornerLayer.cs
- TextModifier.cs
- IODescriptionAttribute.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- TabletDevice.cs
- UniqueIdentifierService.cs
- PropertyGeneratedEventArgs.cs
- PersistenceContext.cs
- TreeBuilderXamlTranslator.cs
- OperatingSystem.cs
- TextDecorationUnitValidation.cs
- DomainConstraint.cs
- ExtenderControl.cs
- SqlProfileProvider.cs
- ZoneIdentityPermission.cs
- NavigationPropertyEmitter.cs
- SchemaMapping.cs
- ControlFilterExpression.cs
- ToolStripDesignerUtils.cs
- Baml6ConstructorInfo.cs
- TextOnlyOutput.cs
- DetailsViewUpdatedEventArgs.cs
- Repeater.cs
- RandomNumberGenerator.cs
- PowerModeChangedEventArgs.cs
- CollectionConverter.cs
- PreservationFileWriter.cs
- LocalBuilder.cs
- SoapInteropTypes.cs
- PreviewKeyDownEventArgs.cs