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
- GeneralTransform.cs
- HuffModule.cs
- ValueTypeFixupInfo.cs
- ValidationEventArgs.cs
- Int16KeyFrameCollection.cs
- XmlResolver.cs
- SessionStateModule.cs
- ApplicationFileCodeDomTreeGenerator.cs
- Error.cs
- AssemblyInfo.cs
- DocumentOrderQuery.cs
- WebConfigurationManager.cs
- XmlUtf8RawTextWriter.cs
- SupportingTokenDuplexChannel.cs
- AccessViolationException.cs
- BookmarkUndoUnit.cs
- FixedSOMElement.cs
- RegexBoyerMoore.cs
- PerformanceCountersElement.cs
- SmtpSection.cs
- InfoCardSymmetricCrypto.cs
- sqlstateclientmanager.cs
- IDataContractSurrogate.cs
- AppDomainManager.cs
- SmtpException.cs
- MailMessage.cs
- EncoderBestFitFallback.cs
- JsonClassDataContract.cs
- MetadataCacheItem.cs
- SecurityState.cs
- FontStyles.cs
- CompoundFileDeflateTransform.cs
- CompModSwitches.cs
- DoubleAnimationUsingKeyFrames.cs
- FileChangesMonitor.cs
- HwndHost.cs
- DefaultTraceListener.cs
- TextElementCollectionHelper.cs
- BindingMemberInfo.cs
- BooleanAnimationBase.cs
- SqlRewriteScalarSubqueries.cs
- HtmlControlPersistable.cs
- EventLogInformation.cs
- MemberMaps.cs
- ParameterCollection.cs
- Rfc2898DeriveBytes.cs
- BStrWrapper.cs
- TextBox.cs
- DesignerContextDescriptor.cs
- Matrix3DValueSerializer.cs
- DynamicDataRoute.cs
- Grid.cs
- ClientUtils.cs
- DataServiceException.cs
- EpmSyndicationContentDeSerializer.cs
- TrustLevel.cs
- PolicyStatement.cs
- EDesignUtil.cs
- WindowsSpinner.cs
- CompiledQuery.cs
- AxisAngleRotation3D.cs
- Constants.cs
- DispatcherSynchronizationContext.cs
- DataSourceControlBuilder.cs
- HotSpotCollection.cs
- WorkflowControlClient.cs
- AmbientLight.cs
- QueryPageSettingsEventArgs.cs
- DesignerContextDescriptor.cs
- unsafenativemethodsother.cs
- NullableDoubleSumAggregationOperator.cs
- WebPartDescriptionCollection.cs
- DataGridViewCheckBoxColumn.cs
- StrokeCollectionDefaultValueFactory.cs
- OdbcCommand.cs
- MaxMessageSizeStream.cs
- RequestCachePolicyConverter.cs
- RegexBoyerMoore.cs
- SqlInternalConnectionSmi.cs
- AnonymousIdentificationSection.cs
- Clause.cs
- UnsafeNativeMethods.cs
- WebBrowserSiteBase.cs
- RC2.cs
- FrameworkContentElement.cs
- XPathDescendantIterator.cs
- SchemaImporterExtension.cs
- StatusBarItemAutomationPeer.cs
- FixedPosition.cs
- SafeBitVector32.cs
- SelectionRange.cs
- XmlNamespaceDeclarationsAttribute.cs
- XmlSchemaAll.cs
- Merger.cs
- DataListCommandEventArgs.cs
- OLEDB_Enum.cs
- OlePropertyStructs.cs
- FunctionCommandText.cs
- AttributeEmitter.cs
- EditorPartChrome.cs