Code:
/ DotNET / DotNET / 8.0 / untmp / 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 wrapped 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 [....] //----------------------------------------------------------------- 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UniqueIdentifierService.cs
- HeaderCollection.cs
- ProcessManager.cs
- FormViewCommandEventArgs.cs
- DataContract.cs
- HtmlInputHidden.cs
- UTF32Encoding.cs
- EntityConnectionStringBuilderItem.cs
- ScrollBar.cs
- HttpCookiesSection.cs
- OracleBFile.cs
- IntSecurity.cs
- SafeNativeMethods.cs
- GetWinFXPath.cs
- SrgsElementFactoryCompiler.cs
- ConvertersCollection.cs
- TokenFactoryCredential.cs
- DefaultValidator.cs
- PageStatePersister.cs
- ClassGenerator.cs
- DependencyPropertyAttribute.cs
- OwnerDrawPropertyBag.cs
- LogicalExpressionEditor.cs
- FileDialog_Vista.cs
- ListControlConvertEventArgs.cs
- ZipIOCentralDirectoryFileHeader.cs
- TypeBrowserDialog.cs
- EnumerationRangeValidationUtil.cs
- BooleanFacetDescriptionElement.cs
- AsymmetricKeyExchangeDeformatter.cs
- AdjustableArrowCap.cs
- DbMetaDataColumnNames.cs
- TreeView.cs
- SessionSwitchEventArgs.cs
- DesignerGenericWebPart.cs
- FloaterParaClient.cs
- CompositionTarget.cs
- SelectionWordBreaker.cs
- GridViewEditEventArgs.cs
- DesignUtil.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- WinFormsSecurity.cs
- CompareValidator.cs
- SiteIdentityPermission.cs
- DES.cs
- FileStream.cs
- Process.cs
- ResourceSetExpression.cs
- cookiecollection.cs
- ApplicationBuildProvider.cs
- SoapSchemaMember.cs
- DataViewSettingCollection.cs
- returneventsaver.cs
- HotCommands.cs
- ReflectionHelper.cs
- WebOperationContext.cs
- Size3DValueSerializer.cs
- IPPacketInformation.cs
- TreeNodeClickEventArgs.cs
- SecurityException.cs
- MetaType.cs
- NativeObjectSecurity.cs
- InputEventArgs.cs
- ISFClipboardData.cs
- DataTrigger.cs
- Claim.cs
- HelpProvider.cs
- RulePatternOps.cs
- StreamResourceInfo.cs
- XmlComplianceUtil.cs
- XmlC14NWriter.cs
- SQLStringStorage.cs
- RoleManagerModule.cs
- OdbcCommand.cs
- HGlobalSafeHandle.cs
- LocatorPart.cs
- SoapIgnoreAttribute.cs
- NavigationWindow.cs
- DesignerAdapterUtil.cs
- RequiredFieldValidator.cs
- DataObjectCopyingEventArgs.cs
- EnumConverter.cs
- AdornedElementPlaceholder.cs
- UnrecognizedPolicyAssertionElement.cs
- RelatedImageListAttribute.cs
- ObservableDictionary.cs
- DynamicRenderer.cs
- EllipseGeometry.cs
- ADRoleFactoryConfiguration.cs
- DataError.cs
- WebDisplayNameAttribute.cs
- SystemResourceKey.cs
- Decorator.cs
- MD5CryptoServiceProvider.cs
- EventSetter.cs
- CryptoApi.cs
- NestedContainer.cs
- RestClientProxyHandler.cs
- PointLightBase.cs
- ArrayWithOffset.cs