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
- Vector3D.cs
- FolderBrowserDialogDesigner.cs
- ModifierKeysValueSerializer.cs
- XmlSerializer.cs
- GridEntryCollection.cs
- BatchServiceHost.cs
- BuiltInExpr.cs
- TableLayoutColumnStyleCollection.cs
- HelpKeywordAttribute.cs
- _SslSessionsCache.cs
- SystemThemeKey.cs
- OracleParameterBinding.cs
- DrawingImage.cs
- DependencyPropertyValueSerializer.cs
- BookmarkEventArgs.cs
- BamlVersionHeader.cs
- sitestring.cs
- SoapTransportImporter.cs
- JpegBitmapEncoder.cs
- RichTextBox.cs
- Matrix3D.cs
- HttpsTransportBindingElement.cs
- Win32.cs
- TimeSpanValidatorAttribute.cs
- ArrayMergeHelper.cs
- DEREncoding.cs
- ReadOnlyState.cs
- DataGridViewCell.cs
- WebServicesInteroperability.cs
- DeploymentExceptionMapper.cs
- TreeViewHitTestInfo.cs
- Mapping.cs
- WebPartManager.cs
- X509Extension.cs
- DeploymentExceptionMapper.cs
- SamlAuthorityBinding.cs
- ActivitySurrogate.cs
- SQLBinaryStorage.cs
- EventLogPermissionAttribute.cs
- PenLineJoinValidation.cs
- XmlSerializer.cs
- DataObjectSettingDataEventArgs.cs
- DbConnectionStringBuilder.cs
- ConfigXmlDocument.cs
- Matrix3DStack.cs
- TemplateColumn.cs
- FileEnumerator.cs
- Focus.cs
- DetailsViewActionList.cs
- webproxy.cs
- PerformanceCountersElement.cs
- FormatterServices.cs
- TagPrefixAttribute.cs
- NamespaceCollection.cs
- GetKeyedHashRequest.cs
- FontStyle.cs
- ToolStripDropDown.cs
- ObjectStateEntryDbDataRecord.cs
- WebPartConnection.cs
- BitmapEffectrendercontext.cs
- CoreSwitches.cs
- Rotation3DAnimationBase.cs
- HostedHttpRequestAsyncResult.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- DBConcurrencyException.cs
- DataControlFieldCell.cs
- TimeoutException.cs
- AffineTransform3D.cs
- TemplatedWizardStep.cs
- UserUseLicenseDictionaryLoader.cs
- ResourceProviderFactory.cs
- WorkflowStateRollbackService.cs
- ExpressionBinding.cs
- AttributeParameterInfo.cs
- TableRowCollection.cs
- ChannelListenerBase.cs
- XPathException.cs
- SafeNativeMethods.cs
- DrawingVisualDrawingContext.cs
- SimpleExpression.cs
- ReferentialConstraint.cs
- Pipe.cs
- PnrpPeerResolverBindingElement.cs
- ExtractedStateEntry.cs
- CodeGeneratorOptions.cs
- BlockCollection.cs
- WebCodeGenerator.cs
- GetPageCompletedEventArgs.cs
- TextBoxDesigner.cs
- DataTemplateKey.cs
- NamespaceList.cs
- DataGridViewCellFormattingEventArgs.cs
- CalendarDay.cs
- TrackingServices.cs
- SafeBitVector32.cs
- StorageFunctionMapping.cs
- TemplateColumn.cs
- FlowDocumentPage.cs
- SQLDouble.cs
- XsltContext.cs