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
- HttpWebRequestElement.cs
- SectionInput.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ActivitySurrogateSelector.cs
- CroppedBitmap.cs
- MsmqAppDomainProtocolHandler.cs
- MonitoringDescriptionAttribute.cs
- EventLog.cs
- ReadOnlyMetadataCollection.cs
- ReferenceEqualityComparer.cs
- TdsRecordBufferSetter.cs
- PieceDirectory.cs
- TargetInvocationException.cs
- GenericIdentity.cs
- CardSpaceException.cs
- StdValidatorsAndConverters.cs
- ContainerUIElement3D.cs
- FilterException.cs
- CrossSiteScriptingValidation.cs
- ProcessInfo.cs
- CryptoStream.cs
- FunctionParameter.cs
- RsaSecurityToken.cs
- DbQueryCommandTree.cs
- Bitmap.cs
- ConfigurationLockCollection.cs
- FormViewRow.cs
- ManagementInstaller.cs
- DrawingImage.cs
- StorageSetMapping.cs
- loginstatus.cs
- ServiceBusyException.cs
- OleDbWrapper.cs
- MethodExecutor.cs
- Accessible.cs
- RSAPKCS1SignatureFormatter.cs
- DataGridViewMethods.cs
- Marshal.cs
- XmlSchemaSearchPattern.cs
- GridItem.cs
- ComEventsMethod.cs
- CodeAttachEventStatement.cs
- EditingCoordinator.cs
- ServiceAuthorizationManager.cs
- XmlSchemaComplexType.cs
- SqlTransaction.cs
- Brush.cs
- UriScheme.cs
- TemplateBindingExtensionConverter.cs
- MultiAsyncResult.cs
- MsmqAuthenticationMode.cs
- AsyncStreamReader.cs
- MultipartContentParser.cs
- GridItemCollection.cs
- DataGridViewHeaderCell.cs
- SQLMoneyStorage.cs
- InitializationEventAttribute.cs
- IdnMapping.cs
- ResponseBodyWriter.cs
- LabelEditEvent.cs
- ActivityStateRecord.cs
- linebase.cs
- sortedlist.cs
- WebScriptEnablingElement.cs
- TableProviderWrapper.cs
- AnnotationDocumentPaginator.cs
- Assembly.cs
- StaticTextPointer.cs
- TdsValueSetter.cs
- SID.cs
- XmlTextAttribute.cs
- DecoratedNameAttribute.cs
- SqlDataSource.cs
- NamedPipeChannelListener.cs
- EntryPointNotFoundException.cs
- FilteredAttributeCollection.cs
- MappedMetaModel.cs
- SearchForVirtualItemEventArgs.cs
- TypeViewSchema.cs
- HttpContext.cs
- SystemWebCachingSectionGroup.cs
- BehaviorEditorPart.cs
- Token.cs
- X509Certificate.cs
- ImageAnimator.cs
- SemanticResultKey.cs
- TypeConverterBase.cs
- sqlstateclientmanager.cs
- DataViewListener.cs
- WindowsFormsSectionHandler.cs
- HttpApplicationFactory.cs
- RequestStatusBarUpdateEventArgs.cs
- Label.cs
- DependencyPropertyKind.cs
- _KerberosClient.cs
- CodeTypeParameterCollection.cs
- Size3DConverter.cs
- XmlNodeComparer.cs
- VisualStateGroup.cs
- Attributes.cs