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
- ToolStripSplitStackLayout.cs
- ObjectNavigationPropertyMapping.cs
- HtmlForm.cs
- ClientSideQueueItem.cs
- Int16Storage.cs
- baseaxisquery.cs
- CrossSiteScriptingValidation.cs
- StickyNoteContentControl.cs
- AbsoluteQuery.cs
- WpfXamlType.cs
- InvokeSchedule.cs
- StreamAsIStream.cs
- QueryReaderSettings.cs
- System.Data.OracleClient_BID.cs
- DockProviderWrapper.cs
- BlurBitmapEffect.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ControlType.cs
- DbModificationClause.cs
- TrackingServices.cs
- ProfilePropertySettingsCollection.cs
- DataServiceStreamProviderWrapper.cs
- AtomServiceDocumentSerializer.cs
- KeyedHashAlgorithm.cs
- Pkcs7Recipient.cs
- ContextStaticAttribute.cs
- _ConnectionGroup.cs
- ProfilePropertySettingsCollection.cs
- Normalization.cs
- AstTree.cs
- SharedPerformanceCounter.cs
- DetailsViewInsertedEventArgs.cs
- SQlBooleanStorage.cs
- _SslSessionsCache.cs
- UseLicense.cs
- DataSourceControlBuilder.cs
- Util.cs
- LinkDescriptor.cs
- SQLDouble.cs
- CheckBoxList.cs
- DoubleAnimationClockResource.cs
- ToolTip.cs
- CodeTypeReferenceCollection.cs
- TypeUnloadedException.cs
- DataBindingExpressionBuilder.cs
- PngBitmapDecoder.cs
- Inflater.cs
- HybridDictionary.cs
- HuffModule.cs
- MonthCalendar.cs
- PngBitmapDecoder.cs
- ListViewUpdatedEventArgs.cs
- ResXResourceReader.cs
- TableProvider.cs
- DefaultAsyncDataDispatcher.cs
- PageHandlerFactory.cs
- HierarchicalDataSourceControl.cs
- CompiledQueryCacheEntry.cs
- ClientTargetSection.cs
- ObjectDisposedException.cs
- EntityDataSourceWrapper.cs
- RegexTypeEditor.cs
- MapPathBasedVirtualPathProvider.cs
- SecurityUniqueId.cs
- CalendarDesigner.cs
- OdbcParameterCollection.cs
- WindowsListViewGroup.cs
- TearOffProxy.cs
- XmlAttributeCollection.cs
- XmlIlVisitor.cs
- XNodeNavigator.cs
- SafeHandles.cs
- ImageListStreamer.cs
- MemoryFailPoint.cs
- NumberSubstitution.cs
- ToolStripDropDownButton.cs
- ActivatedMessageQueue.cs
- WebPartHelpVerb.cs
- PreviewPrintController.cs
- AsymmetricAlgorithm.cs
- DrawItemEvent.cs
- ZipIOCentralDirectoryBlock.cs
- CustomCategoryAttribute.cs
- PropertyManager.cs
- BufferedGraphicsContext.cs
- PageAsyncTaskManager.cs
- ProfileModule.cs
- CaseInsensitiveHashCodeProvider.cs
- GlyphTypeface.cs
- DatePickerDateValidationErrorEventArgs.cs
- RequestValidator.cs
- HTMLTextWriter.cs
- TextPenaltyModule.cs
- BufferedWebEventProvider.cs
- Point3DAnimation.cs
- HttpPostClientProtocol.cs
- AnnotationResourceCollection.cs
- METAHEADER.cs
- Msec.cs
- BookmarkUndoUnit.cs