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
- StrokeNodeOperations2.cs
- ListViewGroupConverter.cs
- Converter.cs
- RoleManagerSection.cs
- ListViewDesigner.cs
- HiddenFieldDesigner.cs
- SqlInternalConnection.cs
- InvalidAsynchronousStateException.cs
- LayoutDump.cs
- RemoteWebConfigurationHost.cs
- PersianCalendar.cs
- TimeSpanOrInfiniteValidator.cs
- UIHelper.cs
- PreviewPageInfo.cs
- UriTemplateCompoundPathSegment.cs
- StartUpEventArgs.cs
- InitializerFacet.cs
- StateItem.cs
- DynamicDataManager.cs
- PageSettings.cs
- ContextMenuStrip.cs
- ItemList.cs
- InstanceOwner.cs
- PathTooLongException.cs
- FloatUtil.cs
- PhysicalFontFamily.cs
- UnsupportedPolicyOptionsException.cs
- BitmapEffectDrawingContent.cs
- XmlValidatingReaderImpl.cs
- MetadataArtifactLoaderCompositeFile.cs
- SchemaAttDef.cs
- StaticContext.cs
- ViewManagerAttribute.cs
- SqlClientPermission.cs
- SQLDoubleStorage.cs
- SqlWorkflowInstanceStoreLock.cs
- NameNode.cs
- TemplatedAdorner.cs
- Int32CAMarshaler.cs
- _SslSessionsCache.cs
- LazyTextWriterCreator.cs
- FixedTextPointer.cs
- JapaneseLunisolarCalendar.cs
- CodeArgumentReferenceExpression.cs
- EventDrivenDesigner.cs
- RelationshipEnd.cs
- Attribute.cs
- XmlSchemaSet.cs
- SpnEndpointIdentity.cs
- WindowShowOrOpenTracker.cs
- SqlBulkCopy.cs
- HtmlTextArea.cs
- TripleDESCryptoServiceProvider.cs
- GifBitmapDecoder.cs
- HeaderUtility.cs
- DataGridPagerStyle.cs
- FieldNameLookup.cs
- LoginUtil.cs
- ValueSerializer.cs
- ScriptManagerProxy.cs
- Span.cs
- WebControlsSection.cs
- CategoryValueConverter.cs
- DataViewManagerListItemTypeDescriptor.cs
- ProtocolProfile.cs
- SrgsRulesCollection.cs
- SiteMapPath.cs
- StyleTypedPropertyAttribute.cs
- _DigestClient.cs
- IPEndPoint.cs
- XhtmlBasicControlAdapter.cs
- TextOnlyOutput.cs
- SHA1.cs
- ValidatingReaderNodeData.cs
- AnnotationHighlightLayer.cs
- MenuItem.cs
- HttpStaticObjectsCollectionWrapper.cs
- ColorDialog.cs
- Types.cs
- UInt64Storage.cs
- DivideByZeroException.cs
- Evidence.cs
- ExpressionBuilderCollection.cs
- DesignerUtils.cs
- TraceProvider.cs
- HttpRawResponse.cs
- MdImport.cs
- DefaultAuthorizationContext.cs
- SignerInfo.cs
- AuthenticationServiceManager.cs
- CaseExpr.cs
- ProfileGroupSettingsCollection.cs
- DependencyPropertyAttribute.cs
- RuleCache.cs
- ModelItemCollectionImpl.cs
- GridViewColumnCollectionChangedEventArgs.cs
- PartialToken.cs
- ToolStripCustomTypeDescriptor.cs
- Win32.cs
- FtpWebResponse.cs