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
- TabControl.cs
- EnumerableRowCollection.cs
- HitTestResult.cs
- PerformanceCounterManager.cs
- EmbossBitmapEffect.cs
- GeometryHitTestResult.cs
- PageAsyncTask.cs
- HttpHandlersSection.cs
- CssTextWriter.cs
- TransportElement.cs
- StrokeFIndices.cs
- CachedFontFamily.cs
- Utils.cs
- DataTableExtensions.cs
- TextStore.cs
- ResourceExpression.cs
- ReferencedCategoriesDocument.cs
- PropertyToken.cs
- ErrorTableItemStyle.cs
- Mapping.cs
- AssociationProvider.cs
- PrincipalPermission.cs
- ListSortDescriptionCollection.cs
- ZipIOFileItemStream.cs
- EndpointAddressMessageFilterTable.cs
- FilterQuery.cs
- DescendantQuery.cs
- XmlSchemaSimpleContentRestriction.cs
- EntityContainerEmitter.cs
- __ComObject.cs
- HtmlEmptyTagControlBuilder.cs
- InheritanceContextChangedEventManager.cs
- DocumentCollection.cs
- ToggleButtonAutomationPeer.cs
- SmtpTransport.cs
- TemplateColumn.cs
- ModuleConfigurationInfo.cs
- HeaderCollection.cs
- BitmapEncoder.cs
- ComboBoxDesigner.cs
- SqlDuplicator.cs
- BitmapCodecInfo.cs
- SpecularMaterial.cs
- InternalTypeHelper.cs
- FlowSwitchLink.cs
- DataGridCommandEventArgs.cs
- SoapMessage.cs
- DiagnosticTrace.cs
- SortDescription.cs
- MembershipPasswordException.cs
- ListControl.cs
- StorageComplexTypeMapping.cs
- TextTrailingCharacterEllipsis.cs
- LockCookie.cs
- RecipientInfo.cs
- XmlChoiceIdentifierAttribute.cs
- ImageList.cs
- securitycriticaldataformultiplegetandset.cs
- SeverityFilter.cs
- NullableBoolConverter.cs
- InstanceKey.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- FunctionDetailsReader.cs
- AllMembershipCondition.cs
- DataGridCommandEventArgs.cs
- VersionedStream.cs
- CodeThrowExceptionStatement.cs
- TypeUsage.cs
- DocumentReference.cs
- HwndKeyboardInputProvider.cs
- QueryOutputWriter.cs
- UrlUtility.cs
- XmlSignificantWhitespace.cs
- AttributeProviderAttribute.cs
- RuleRefElement.cs
- TextSimpleMarkerProperties.cs
- SynchronizedDispatch.cs
- Invariant.cs
- TaskExceptionHolder.cs
- WebScriptClientGenerator.cs
- PinnedBufferMemoryStream.cs
- DynamicControlParameter.cs
- DataGridViewTopRowAccessibleObject.cs
- FontStretch.cs
- WindowsPen.cs
- LocalBuilder.cs
- XmlNavigatorStack.cs
- TemplateNameScope.cs
- ParseNumbers.cs
- OutputScopeManager.cs
- DecimalConstantAttribute.cs
- Pkcs7Signer.cs
- GridViewRowPresenterBase.cs
- QilNode.cs
- WeakReferenceEnumerator.cs
- WebPageTraceListener.cs
- _ProxyChain.cs
- LoginDesigner.cs
- SelectionService.cs
- Win32.cs