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
- ProtocolImporter.cs
- Aggregates.cs
- HttpErrorTraceRecord.cs
- HtmlTableCellCollection.cs
- ReachPrintTicketSerializer.cs
- NameTable.cs
- SafeSecurityHelper.cs
- UrlPath.cs
- AssemblyHash.cs
- CheckBoxRenderer.cs
- Ops.cs
- DataService.cs
- EmbeddedObject.cs
- Quaternion.cs
- Enum.cs
- VectorCollection.cs
- CodeGroup.cs
- Base64Decoder.cs
- COAUTHINFO.cs
- ScalarOps.cs
- JoinTreeSlot.cs
- DeobfuscatingStream.cs
- LambdaCompiler.Binary.cs
- ConnectionManagementElement.cs
- ZipIORawDataFileBlock.cs
- InputLangChangeRequestEvent.cs
- ClientType.cs
- CustomError.cs
- SHA256.cs
- Mapping.cs
- Lazy.cs
- BindingMemberInfo.cs
- DataBindEngine.cs
- RunInstallerAttribute.cs
- WriteFileContext.cs
- COM2ColorConverter.cs
- ExpressionReplacer.cs
- Main.cs
- DataColumnMapping.cs
- TiffBitmapEncoder.cs
- WindowsFormsHostPropertyMap.cs
- BitmapVisualManager.cs
- MultiBinding.cs
- EventBookmark.cs
- XmlSerializerObjectSerializer.cs
- DoubleCollectionValueSerializer.cs
- ClientBuildManager.cs
- TypeConverterHelper.cs
- UnsafeNativeMethods.cs
- IntegerFacetDescriptionElement.cs
- FixedElement.cs
- OdbcInfoMessageEvent.cs
- CryptoApi.cs
- ButtonFlatAdapter.cs
- CellParaClient.cs
- SchemaCollectionPreprocessor.cs
- TimersDescriptionAttribute.cs
- PropertyGrid.cs
- SoapCodeExporter.cs
- ByteStorage.cs
- VSWCFServiceContractGenerator.cs
- PrincipalPermission.cs
- BooleanProjectedSlot.cs
- GridViewRowPresenterBase.cs
- Parallel.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ResXBuildProvider.cs
- DataServiceExpressionVisitor.cs
- SqlUdtInfo.cs
- AssociationSetMetadata.cs
- Utilities.cs
- SelectionProcessor.cs
- EventLogReader.cs
- BodyGlyph.cs
- StringConverter.cs
- SparseMemoryStream.cs
- WindowsImpersonationContext.cs
- DoubleLinkListEnumerator.cs
- ManifestResourceInfo.cs
- MeshGeometry3D.cs
- Common.cs
- ExecutedRoutedEventArgs.cs
- EditBehavior.cs
- _ListenerResponseStream.cs
- XmlElementAttributes.cs
- PageParser.cs
- VectorAnimation.cs
- DirectoryObjectSecurity.cs
- InstanceKey.cs
- ErrorStyle.cs
- DataGridViewRow.cs
- FrameworkPropertyMetadata.cs
- X509PeerCertificateElement.cs
- ByteArrayHelperWithString.cs
- OracleBFile.cs
- MimeXmlReflector.cs
- SafeNativeMethods.cs
- RangeContentEnumerator.cs
- PeerOutputChannel.cs
- TraceHandler.cs