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
- TextPatternIdentifiers.cs
- HwndSourceParameters.cs
- ExtensionCollection.cs
- MsdtcWrapper.cs
- EntityProviderFactory.cs
- Process.cs
- SoapSchemaExporter.cs
- PartialTrustVisibleAssembly.cs
- SessionState.cs
- WebPartRestoreVerb.cs
- ServiceModelConfigurationSectionGroup.cs
- DesignerGenericWebPart.cs
- Version.cs
- XPathChildIterator.cs
- ImplicitInputBrush.cs
- MsmqProcessProtocolHandler.cs
- MethodAccessException.cs
- HttpFileCollection.cs
- SurrogateEncoder.cs
- TypeReference.cs
- WmpBitmapDecoder.cs
- DoubleIndependentAnimationStorage.cs
- SyndicationSerializer.cs
- SafeWaitHandle.cs
- ProviderCollection.cs
- ZipPackage.cs
- BulletedListDesigner.cs
- IDispatchConstantAttribute.cs
- HttpMethodAttribute.cs
- GridViewRow.cs
- ElementNotAvailableException.cs
- AccessDataSourceDesigner.cs
- ProtocolsConfigurationHandler.cs
- MailAddress.cs
- IriParsingElement.cs
- ColorMap.cs
- AdRotator.cs
- EventLogger.cs
- RSACryptoServiceProvider.cs
- Misc.cs
- SqlXml.cs
- SoundPlayerAction.cs
- TextBox.cs
- UnauthorizedAccessException.cs
- GridItemProviderWrapper.cs
- MetaTableHelper.cs
- SeparatorAutomationPeer.cs
- XmlArrayAttribute.cs
- PersistenceTypeAttribute.cs
- ControlParameter.cs
- LoginCancelEventArgs.cs
- ReadOnlyDataSource.cs
- TraceContextEventArgs.cs
- TableLayout.cs
- Request.cs
- UrlMapping.cs
- EntityDataSourceWrapperCollection.cs
- DefaultValueConverter.cs
- FontCacheLogic.cs
- AppSettingsExpressionEditor.cs
- Html32TextWriter.cs
- PageCache.cs
- SecurityTokenContainer.cs
- ResourceKey.cs
- DataServiceProcessingPipelineEventArgs.cs
- ProfileManager.cs
- XmlSchemaFacet.cs
- VersionedStreamOwner.cs
- ToolStripMenuItemDesigner.cs
- DNS.cs
- MyContact.cs
- DecimalAnimationBase.cs
- ContractSearchPattern.cs
- HMAC.cs
- WhitespaceRule.cs
- TimeEnumHelper.cs
- PersistStreamTypeWrapper.cs
- DataGridViewSelectedCellCollection.cs
- TextureBrush.cs
- RuleCache.cs
- EdmMember.cs
- ToolStripSplitButton.cs
- SchemaImporterExtensionElementCollection.cs
- _Connection.cs
- AuthenticatingEventArgs.cs
- TimeoutHelper.cs
- IntMinMaxAggregationOperator.cs
- FlowSwitchDesigner.xaml.cs
- ObjectDataSourceDesigner.cs
- TabControlEvent.cs
- WinFormsSpinner.cs
- UIElementPropertyUndoUnit.cs
- Attributes.cs
- UICuesEvent.cs
- HtmlHistory.cs
- ProfileManager.cs
- WindowsMenu.cs
- RegionIterator.cs
- LockCookie.cs
- UriWriter.cs