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
- xmlsaver.cs
- IdnElement.cs
- Binding.cs
- TimelineGroup.cs
- PropertyMapper.cs
- DashStyle.cs
- TrimSurroundingWhitespaceAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- DataGridView.cs
- InstanceDescriptor.cs
- Fx.cs
- DataGridViewRowPostPaintEventArgs.cs
- NativeCompoundFileAPIs.cs
- FileInfo.cs
- StateMachine.cs
- ZipIOBlockManager.cs
- WasAdminWrapper.cs
- ScrollItemPattern.cs
- TransformedBitmap.cs
- SizeF.cs
- ContentTypeSettingClientMessageFormatter.cs
- DefaultEventAttribute.cs
- IInstanceTable.cs
- ClickablePoint.cs
- GridViewDeletedEventArgs.cs
- Types.cs
- DynamicActivity.cs
- RtfControls.cs
- DataGridViewRowCollection.cs
- InstanceContext.cs
- SelectedGridItemChangedEvent.cs
- MiniCustomAttributeInfo.cs
- ThousandthOfEmRealDoubles.cs
- XmlSchemaAttribute.cs
- CompressEmulationStream.cs
- Context.cs
- HttpContextServiceHost.cs
- StoreConnection.cs
- FieldReference.cs
- WaitHandleCannotBeOpenedException.cs
- CatalogPart.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- ProviderCollection.cs
- TimeSpanStorage.cs
- XmlNamespaceMapping.cs
- TextReader.cs
- Query.cs
- SmiContext.cs
- PipelineModuleStepContainer.cs
- WebHostUnsafeNativeMethods.cs
- HttpListenerContext.cs
- StreamResourceInfo.cs
- PartitionerStatic.cs
- CurrentChangingEventManager.cs
- Label.cs
- BasePattern.cs
- SchemaElementLookUpTable.cs
- ZipIOExtraFieldPaddingElement.cs
- RowVisual.cs
- MaxMessageSizeStream.cs
- DataListItemEventArgs.cs
- CommandArguments.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- ByteStorage.cs
- GridViewSortEventArgs.cs
- LiteralControl.cs
- StrongNameSignatureInformation.cs
- DataGridViewCellPaintingEventArgs.cs
- RequestCacheEntry.cs
- LinkedResource.cs
- DriveNotFoundException.cs
- TransactionBehavior.cs
- JpegBitmapDecoder.cs
- FamilyMap.cs
- GeneratedCodeAttribute.cs
- TiffBitmapDecoder.cs
- UnknownBitmapEncoder.cs
- HttpContext.cs
- GeneralTransform3D.cs
- CurrentTimeZone.cs
- ModifierKeysConverter.cs
- ListViewInsertionMark.cs
- FixedSOMTextRun.cs
- SystemColors.cs
- BindingExpressionUncommonField.cs
- PhonemeEventArgs.cs
- NamedPipeChannelFactory.cs
- IndentedTextWriter.cs
- RefExpr.cs
- DataServiceQueryProvider.cs
- FileChangesMonitor.cs
- Listbox.cs
- KeyValueSerializer.cs
- TextEditorDragDrop.cs
- ServerType.cs
- Logging.cs
- RelationshipEnd.cs
- CheckBoxRenderer.cs
- MenuItem.cs
- CodePageEncoding.cs