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
- _SingleItemRequestCache.cs
- Tokenizer.cs
- TypeToArgumentTypeConverter.cs
- DataColumn.cs
- AutomationPropertyChangedEventArgs.cs
- AssociationType.cs
- XmlSchemaParticle.cs
- TimeSpanConverter.cs
- _AcceptOverlappedAsyncResult.cs
- DbException.cs
- FormViewDesigner.cs
- ToolBarButtonClickEvent.cs
- WriteFileContext.cs
- LocalizableAttribute.cs
- ConfigurationConverterBase.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- RestClientProxyHandler.cs
- BamlLocalizationDictionary.cs
- SystemColorTracker.cs
- LinqDataSourceUpdateEventArgs.cs
- WebPartMenuStyle.cs
- ClonableStack.cs
- SHA1CryptoServiceProvider.cs
- XomlCompilerError.cs
- ToolStripItemClickedEventArgs.cs
- FixedSchema.cs
- PerspectiveCamera.cs
- CharEntityEncoderFallback.cs
- TdsParserStateObject.cs
- UTF32Encoding.cs
- SqlRowUpdatingEvent.cs
- ServiceDescriptionContext.cs
- DifferencingCollection.cs
- SmiContext.cs
- ToolStripPanelDesigner.cs
- DebugInfo.cs
- FlowLayoutPanel.cs
- TreeNodeStyleCollection.cs
- ArrayElementGridEntry.cs
- COM2EnumConverter.cs
- PropertyPathWorker.cs
- TypedElement.cs
- TimelineCollection.cs
- TextTreeUndo.cs
- TdsParserSafeHandles.cs
- TextRunCacheImp.cs
- UriExt.cs
- TransactionBridgeSection.cs
- NativeRecognizer.cs
- RegexRunner.cs
- SerializationSectionGroup.cs
- PinnedBufferMemoryStream.cs
- DateTimeConverter2.cs
- GrammarBuilderBase.cs
- EntityDataSourceQueryBuilder.cs
- PrimitiveXmlSerializers.cs
- FastEncoder.cs
- XmlNamedNodeMap.cs
- IssuanceLicense.cs
- DataGridHeaderBorder.cs
- DataGridViewColumnCollection.cs
- DataGridViewLayoutData.cs
- DataGridItemEventArgs.cs
- FormsAuthenticationTicket.cs
- EntityCommandExecutionException.cs
- ByteStreamBufferedMessageData.cs
- GC.cs
- FormCollection.cs
- MouseEventArgs.cs
- Adorner.cs
- ExceptionUtil.cs
- RectConverter.cs
- TextTreeText.cs
- PagerSettings.cs
- PrimitiveXmlSerializers.cs
- TransactionsSectionGroup.cs
- PageThemeBuildProvider.cs
- NetCodeGroup.cs
- EntitySqlQueryCacheEntry.cs
- TimeIntervalCollection.cs
- FormsIdentity.cs
- CellLabel.cs
- ServiceOperation.cs
- NamespaceInfo.cs
- EventLogPermissionEntryCollection.cs
- RoutingTable.cs
- MergePropertyDescriptor.cs
- PassportAuthenticationModule.cs
- SafeCryptoHandles.cs
- DispatchWrapper.cs
- ColorContextHelper.cs
- Focus.cs
- ReferenceEqualityComparer.cs
- ChangePassword.cs
- bidPrivateBase.cs
- storepermissionattribute.cs
- DbConnectionClosed.cs
- XmlBindingWorker.cs
- MethodToken.cs
- EmptyStringExpandableObjectConverter.cs