Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / 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
- InkCanvasSelection.cs
- HttpPostedFileWrapper.cs
- EncoderFallback.cs
- WindowsIPAddress.cs
- SerializerProvider.cs
- EncryptedKeyIdentifierClause.cs
- ActivationArguments.cs
- DateTimeStorage.cs
- InheritanceService.cs
- HeaderCollection.cs
- Content.cs
- KeyedHashAlgorithm.cs
- EventLogReader.cs
- RoleManagerSection.cs
- ValidationErrorCollection.cs
- FormatSettings.cs
- DesignerTextBoxAdapter.cs
- HttpInputStream.cs
- TransactionBridge.cs
- RemoteCryptoSignHashRequest.cs
- ApplicationTrust.cs
- XPathItem.cs
- SynchronizedDispatch.cs
- AutomationElementIdentifiers.cs
- SecurityTokenException.cs
- RootAction.cs
- SQLCharsStorage.cs
- Evidence.cs
- StorageComplexTypeMapping.cs
- CancellationHandlerDesigner.cs
- EastAsianLunisolarCalendar.cs
- UInt32Storage.cs
- SqlFlattener.cs
- StylusEventArgs.cs
- DatatypeImplementation.cs
- PropertyInfoSet.cs
- XmlSignatureManifest.cs
- BindingExpression.cs
- RefreshEventArgs.cs
- TransactedBatchingElement.cs
- CodeComment.cs
- LocationInfo.cs
- XpsFontSubsetter.cs
- SetStoryboardSpeedRatio.cs
- ProcessHost.cs
- DateTimeFormatInfoScanner.cs
- StorageFunctionMapping.cs
- SystemIPInterfaceStatistics.cs
- TypeUtil.cs
- SvcFileManager.cs
- RunInstallerAttribute.cs
- DataSetMappper.cs
- ListItemConverter.cs
- RectangleConverter.cs
- XmlCDATASection.cs
- Empty.cs
- TreeWalker.cs
- Types.cs
- CompoundFileStorageReference.cs
- Delegate.cs
- ToolStripItemDataObject.cs
- BinaryObjectReader.cs
- LicFileLicenseProvider.cs
- FixedTextView.cs
- GridViewColumnHeaderAutomationPeer.cs
- ColorMatrix.cs
- TransactionTraceIdentifier.cs
- SafeNativeMethodsMilCoreApi.cs
- Ref.cs
- XmlFormatWriterGenerator.cs
- XmlName.cs
- VirtualPathProvider.cs
- EnumMemberAttribute.cs
- IPeerNeighbor.cs
- LayoutEvent.cs
- WCFServiceClientProxyGenerator.cs
- BamlTreeMap.cs
- DecoratedNameAttribute.cs
- DataServiceEntityAttribute.cs
- HtmlLiteralTextAdapter.cs
- HttpCacheVaryByContentEncodings.cs
- EditorPartChrome.cs
- NetStream.cs
- HitTestParameters.cs
- FormattedTextSymbols.cs
- CachedTypeface.cs
- WebPartConnectionsCloseVerb.cs
- TokenBasedSet.cs
- RepeaterItem.cs
- SAPICategories.cs
- IndentTextWriter.cs
- ActivityPropertyReference.cs
- sqlstateclientmanager.cs
- FontWeight.cs
- MessageDecoder.cs
- DataServiceException.cs
- XmlSerializerSection.cs
- BitVector32.cs
- ConfigurationStrings.cs
- CallInfo.cs