Code:
/ DotNET / DotNET / 8.0 / untmp / 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 wrapped 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 [....] //----------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeVariableDeclarationStatement.cs
- LinkButton.cs
- RequestStatusBarUpdateEventArgs.cs
- Authorization.cs
- ComboBox.cs
- DesignBindingEditor.cs
- CellCreator.cs
- ConfigurationSectionHelper.cs
- IdentifierElement.cs
- QueueProcessor.cs
- CacheMode.cs
- CalendarButtonAutomationPeer.cs
- OptimisticConcurrencyException.cs
- CfgRule.cs
- dbdatarecord.cs
- TripleDES.cs
- WebServiceTypeData.cs
- Inflater.cs
- ElementAction.cs
- BinaryFormatterWriter.cs
- WebConfigurationHostFileChange.cs
- BufferedStream.cs
- BulletChrome.cs
- PageContentAsyncResult.cs
- NativeCppClassAttribute.cs
- WindowShowOrOpenTracker.cs
- ResponseBodyWriter.cs
- FunctionOverloadResolver.cs
- MILUtilities.cs
- TypeConverter.cs
- SafeFileMappingHandle.cs
- TreeViewHitTestInfo.cs
- ValueProviderWrapper.cs
- DictionaryBase.cs
- MemoryRecordBuffer.cs
- TextServicesProperty.cs
- RoleManagerSection.cs
- DesignerActionPanel.cs
- HatchBrush.cs
- DataRecordInternal.cs
- TextSelectionProcessor.cs
- SetIterators.cs
- SqlDataSourceFilteringEventArgs.cs
- VBIdentifierTrimConverter.cs
- NumberFormatInfo.cs
- FileRecordSequenceCompletedAsyncResult.cs
- Utilities.cs
- UrlMappingCollection.cs
- BitmapEffectDrawingContextState.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- WebHttpSecurityElement.cs
- _ListenerResponseStream.cs
- Crc32Helper.cs
- UntrustedRecipientException.cs
- COMException.cs
- ScriptManager.cs
- CodeDomComponentSerializationService.cs
- IisTraceListener.cs
- ToggleProviderWrapper.cs
- DictionaryBase.cs
- AppDomainFactory.cs
- DocumentDesigner.cs
- SplineKeyFrames.cs
- TdsParameterSetter.cs
- XmlComment.cs
- XmlParser.cs
- ConfigLoader.cs
- ToolStripTextBox.cs
- LineServices.cs
- Int16Converter.cs
- UrlAuthFailureHandler.cs
- Transform3D.cs
- DocumentXPathNavigator.cs
- ClonableStack.cs
- DesignerLoader.cs
- QueryGenerator.cs
- RegexMatch.cs
- WebPartCatalogCloseVerb.cs
- EventMappingSettingsCollection.cs
- Accessible.cs
- TrackingMemoryStreamFactory.cs
- UIElementAutomationPeer.cs
- UrlAuthorizationModule.cs
- Debugger.cs
- InitializationEventAttribute.cs
- UrlPath.cs
- PrinterResolution.cs
- DataGridViewColumnStateChangedEventArgs.cs
- AddDataControlFieldDialog.cs
- SyndicationDeserializer.cs
- DesigntimeLicenseContext.cs
- WebPartChrome.cs
- Lease.cs
- ReflectionServiceProvider.cs
- DPAPIProtectedConfigurationProvider.cs
- CodeTypeParameter.cs
- GeneralTransform3DGroup.cs
- TemplateBindingExtension.cs
- ConstNode.cs
- TaiwanCalendar.cs