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
- InfiniteTimeSpanConverter.cs
- XamlLoadErrorInfo.cs
- HistoryEventArgs.cs
- safemediahandle.cs
- Matrix3DStack.cs
- ResXResourceReader.cs
- MailMessage.cs
- MethodBuilder.cs
- ConfigXmlSignificantWhitespace.cs
- IxmlLineInfo.cs
- ColumnCollection.cs
- CapabilitiesRule.cs
- PackWebRequest.cs
- FloaterBaseParagraph.cs
- HttpCacheParams.cs
- OleDbCommand.cs
- ExpressionBuilderCollection.cs
- DecimalConstantAttribute.cs
- TraceHandler.cs
- SQLString.cs
- CompilerParameters.cs
- FrameworkPropertyMetadata.cs
- XmlElementAttributes.cs
- TargetPerspective.cs
- DiagnosticTrace.cs
- Transactions.cs
- MethodBuilderInstantiation.cs
- FontUnit.cs
- NetworkInformationException.cs
- WCFServiceClientProxyGenerator.cs
- AuthenticationService.cs
- PbrsForward.cs
- BatchParser.cs
- DynamicMethod.cs
- KeyValueConfigurationElement.cs
- ParserOptions.cs
- ActivityExecutorSurrogate.cs
- Token.cs
- ParserOptions.cs
- Point3DAnimationUsingKeyFrames.cs
- SystemTcpStatistics.cs
- GenericParameterDataContract.cs
- ZipFileInfo.cs
- AdRotator.cs
- OleDbDataReader.cs
- XmlMapping.cs
- StylusLogic.cs
- HandleCollector.cs
- TrackPointCollection.cs
- FindCompletedEventArgs.cs
- SByteConverter.cs
- WebPermission.cs
- CopyCodeAction.cs
- DialogResultConverter.cs
- DataBoundControlHelper.cs
- DataComponentMethodGenerator.cs
- DataKey.cs
- BinHexEncoding.cs
- SoapCodeExporter.cs
- Ray3DHitTestResult.cs
- InitializationEventAttribute.cs
- OdbcFactory.cs
- ScriptingRoleServiceSection.cs
- InternalConfigRoot.cs
- XmlByteStreamWriter.cs
- UnsettableComboBox.cs
- CanExecuteRoutedEventArgs.cs
- NegotiateStream.cs
- EventLog.cs
- ListViewDeleteEventArgs.cs
- DictionaryItemsCollection.cs
- TextElementEnumerator.cs
- UnmanagedHandle.cs
- DataBindingHandlerAttribute.cs
- DrawingGroup.cs
- WmpBitmapDecoder.cs
- ConsoleEntryPoint.cs
- WCFModelStrings.Designer.cs
- ErrorEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- StylusButtonEventArgs.cs
- InputBuffer.cs
- Token.cs
- SynchronousChannel.cs
- CompiledQuery.cs
- MarkupWriter.cs
- ClientBuildManagerCallback.cs
- UIServiceHelper.cs
- VariableQuery.cs
- RegexCaptureCollection.cs
- AnnotationDocumentPaginator.cs
- CardSpaceException.cs
- QueryableDataSource.cs
- RenderingEventArgs.cs
- BooleanStorage.cs
- MenuItemBinding.cs
- AdapterUtil.cs
- AttributeCollection.cs
- DatasetMethodGenerator.cs
- ListViewAutomationPeer.cs