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
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- SoapAttributeOverrides.cs
- TrustSection.cs
- TdsParserStaticMethods.cs
- ValuePattern.cs
- FileEnumerator.cs
- sqlnorm.cs
- DataGridViewSelectedCellCollection.cs
- Exceptions.cs
- Canvas.cs
- Size.cs
- CustomCategoryAttribute.cs
- ConfigurationSection.cs
- Function.cs
- SecurityTokenContainer.cs
- ToolStripDropDownMenu.cs
- GraphicsContainer.cs
- StrokeCollectionConverter.cs
- DockingAttribute.cs
- ParameterInfo.cs
- DynamicValidatorEventArgs.cs
- CodeGenHelper.cs
- WindowsFormsEditorServiceHelper.cs
- FullTextLine.cs
- BamlBinaryReader.cs
- DataSet.cs
- CollectionBase.cs
- QueryOptionExpression.cs
- Splitter.cs
- WeakReferenceKey.cs
- RawTextInputReport.cs
- XPathMultyIterator.cs
- OptionUsage.cs
- AlternateView.cs
- FixedLineResult.cs
- Translator.cs
- IxmlLineInfo.cs
- NgenServicingAttributes.cs
- GradientSpreadMethodValidation.cs
- ClientSponsor.cs
- ListenerHandler.cs
- Internal.cs
- WorkflowEnvironment.cs
- TypeDelegator.cs
- OutArgument.cs
- SoapHeaders.cs
- InternalUserCancelledException.cs
- DataSourceCacheDurationConverter.cs
- ImageDrawing.cs
- HandlerFactoryWrapper.cs
- MappingItemCollection.cs
- GetPageNumberCompletedEventArgs.cs
- LinqToSqlWrapper.cs
- Matrix3D.cs
- ReadOnlyDictionary.cs
- FlowDocumentReaderAutomationPeer.cs
- TypeBuilderInstantiation.cs
- XMLUtil.cs
- _ContextAwareResult.cs
- TextTreeUndoUnit.cs
- WindowsIdentity.cs
- FacetEnabledSchemaElement.cs
- DataGridRelationshipRow.cs
- DataService.cs
- XmlILOptimizerVisitor.cs
- XmlSchemaInferenceException.cs
- SoapIncludeAttribute.cs
- TextSerializer.cs
- DataGridViewSelectedCellCollection.cs
- WebPartDescriptionCollection.cs
- TextBlock.cs
- ProfileProvider.cs
- MDIWindowDialog.cs
- XmlSignificantWhitespace.cs
- CustomPeerResolverService.cs
- HScrollProperties.cs
- GroupStyle.cs
- QuadraticBezierSegment.cs
- SQLGuid.cs
- CodeStatementCollection.cs
- PropertyPathWorker.cs
- CustomTypeDescriptor.cs
- AtomParser.cs
- DataGridViewCellStyleEditor.cs
- LinearGradientBrush.cs
- BridgeDataRecord.cs
- SafeFileMappingHandle.cs
- WebWorkflowRole.cs
- ClientBuildManagerCallback.cs
- WeakReadOnlyCollection.cs
- EntityDataSourceWizardForm.cs
- AttachmentCollection.cs
- UidManager.cs
- GridViewColumn.cs
- UnknownBitmapEncoder.cs
- Identity.cs
- ManipulationDevice.cs
- DataObjectCopyingEventArgs.cs
- EntityDataSourceEntityTypeFilterItem.cs
- RenderingEventArgs.cs