Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / DataOracleClient / System / Data / OracleClient / TempEnvironment.cs / 1 / TempEnvironment.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // 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
- StaticFileHandler.cs
- OfTypeExpression.cs
- FieldAccessException.cs
- RadioButtonStandardAdapter.cs
- ServiceSecurityAuditBehavior.cs
- Splitter.cs
- SecurityContext.cs
- BindingValueChangedEventArgs.cs
- _TimerThread.cs
- ForEach.cs
- DelayDesigner.cs
- FastEncoder.cs
- FormatterConverter.cs
- FontStretches.cs
- ScheduleChanges.cs
- RadioButtonBaseAdapter.cs
- ExceptionRoutedEventArgs.cs
- DataView.cs
- Parsers.cs
- StringFreezingAttribute.cs
- _StreamFramer.cs
- Base64Stream.cs
- MultiPartWriter.cs
- DelegatedStream.cs
- ToolStripSystemRenderer.cs
- CommonDialog.cs
- XmlAutoDetectWriter.cs
- MultiBindingExpression.cs
- Permission.cs
- ArrayTypeMismatchException.cs
- SerialReceived.cs
- TimeSpan.cs
- ManifestResourceInfo.cs
- StrongNameKeyPair.cs
- BoundColumn.cs
- DataRelationPropertyDescriptor.cs
- AutoGeneratedField.cs
- RtfToXamlLexer.cs
- ProgressBar.cs
- SmtpNtlmAuthenticationModule.cs
- MappingMetadataHelper.cs
- SolidColorBrush.cs
- ThreadInterruptedException.cs
- ChainOfResponsibility.cs
- ValueCollectionParameterReader.cs
- ViewManager.cs
- HttpRuntimeSection.cs
- ExpandButtonVisibilityConverter.cs
- Rotation3D.cs
- AttributeQuery.cs
- VectorValueSerializer.cs
- SecurityTokenTypes.cs
- EnumMemberAttribute.cs
- WindowsSlider.cs
- DynamicControl.cs
- ToolStripLabel.cs
- ValidationErrorInfo.cs
- TextRange.cs
- GZipDecoder.cs
- LocalFileSettingsProvider.cs
- Peer.cs
- ICspAsymmetricAlgorithm.cs
- BlockUIContainer.cs
- ResourceDictionaryCollection.cs
- HostDesigntimeLicenseContext.cs
- TextEditorContextMenu.cs
- FormsAuthentication.cs
- ScaleTransform3D.cs
- Monitor.cs
- MetadataProperty.cs
- GridViewAutomationPeer.cs
- SettingsBase.cs
- TypedAsyncResult.cs
- TypeNameParser.cs
- MimePart.cs
- QueueProcessor.cs
- ListBindableAttribute.cs
- CatalogZoneAutoFormat.cs
- PointCollectionValueSerializer.cs
- log.cs
- QueryReaderSettings.cs
- PageTheme.cs
- GenericParameterDataContract.cs
- OutputCacheSettingsSection.cs
- PocoPropertyAccessorStrategy.cs
- Convert.cs
- BaseInfoTable.cs
- CaseStatement.cs
- DataGridCaption.cs
- RectangleConverter.cs
- ItemsPresenter.cs
- FocusWithinProperty.cs
- ScrollViewer.cs
- DataGrid.cs
- KeyTimeConverter.cs
- OdbcEnvironment.cs
- CatalogZoneAutoFormat.cs
- InvalidOperationException.cs
- ContainerControl.cs
- HtmlSelect.cs