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
- TraceData.cs
- MailWebEventProvider.cs
- SqlNodeAnnotation.cs
- LinqDataSourceHelper.cs
- ColorMatrix.cs
- BasePattern.cs
- XmlAutoDetectWriter.cs
- WriteLine.cs
- ZipIOFileItemStream.cs
- TrustLevelCollection.cs
- ObfuscationAttribute.cs
- DeobfuscatingStream.cs
- XmlUnspecifiedAttribute.cs
- NeutralResourcesLanguageAttribute.cs
- XmlDocumentSurrogate.cs
- MeasureItemEvent.cs
- SafeBitVector32.cs
- XmlProcessingInstruction.cs
- securitycriticaldata.cs
- SoundPlayer.cs
- SqlUDTStorage.cs
- PanelStyle.cs
- ElementInit.cs
- TraceRecord.cs
- PolicyLevel.cs
- Transform3DCollection.cs
- NameObjectCollectionBase.cs
- Animatable.cs
- VideoDrawing.cs
- TriState.cs
- ServerProtocol.cs
- TypedReference.cs
- StrokeRenderer.cs
- GridToolTip.cs
- HitTestFilterBehavior.cs
- XmlQualifiedName.cs
- TreeNodeEventArgs.cs
- TableColumnCollection.cs
- WindowCollection.cs
- DataGridAutomationPeer.cs
- CompilerTypeWithParams.cs
- AjaxFrameworkAssemblyAttribute.cs
- XmlSubtreeReader.cs
- PointCollectionValueSerializer.cs
- GetIsBrowserClientRequest.cs
- TempEnvironment.cs
- DocobjHost.cs
- SoundPlayer.cs
- TextTreeTextElementNode.cs
- clipboard.cs
- XmlSchemaAppInfo.cs
- FlowLayoutPanel.cs
- Double.cs
- TabletDeviceInfo.cs
- DoubleLink.cs
- CollectionContainer.cs
- CodeTypeDeclarationCollection.cs
- HatchBrush.cs
- RoleService.cs
- SelectorItemAutomationPeer.cs
- CodeObjectCreateExpression.cs
- XPathBinder.cs
- TraceUtility.cs
- CodeDirectiveCollection.cs
- GridViewRowCollection.cs
- RegexRunner.cs
- DrawListViewSubItemEventArgs.cs
- WebDisplayNameAttribute.cs
- RemotingException.cs
- AssemblyBuilder.cs
- VisualStyleRenderer.cs
- ErrorFormatter.cs
- ImageList.cs
- DatePicker.cs
- QilGenerator.cs
- ListViewCommandEventArgs.cs
- SelectionChangedEventArgs.cs
- DataGridViewSelectedRowCollection.cs
- MachinePropertyVariants.cs
- MouseGestureConverter.cs
- NoResizeHandleGlyph.cs
- XPathAxisIterator.cs
- ImmutableAssemblyCacheEntry.cs
- AttributeCollection.cs
- MemberJoinTreeNode.cs
- SqlCacheDependencyDatabase.cs
- GradientSpreadMethodValidation.cs
- Panel.cs
- DataServiceQueryProvider.cs
- PerformanceCounterManager.cs
- DataGridrowEditEndingEventArgs.cs
- DependencyObjectValidator.cs
- SessionParameter.cs
- XamlRtfConverter.cs
- ErrorEventArgs.cs
- MarkupCompilePass2.cs
- OutputChannelBinder.cs
- XPathSelectionIterator.cs
- DocumentAutomationPeer.cs
- OdbcUtils.cs