Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- UnSafeCharBuffer.cs
- StagingAreaInputItem.cs
- HelpProvider.cs
- wgx_commands.cs
- SqlRowUpdatingEvent.cs
- PeerUnsafeNativeCryptMethods.cs
- Char.cs
- Comparer.cs
- ImageListImageEditor.cs
- DataGridTextBoxColumn.cs
- MenuStrip.cs
- Int64Storage.cs
- PagePropertiesChangingEventArgs.cs
- HttpAsyncResult.cs
- UnitySerializationHolder.cs
- AliasedSlot.cs
- IxmlLineInfo.cs
- CombinedGeometry.cs
- Polyline.cs
- ClientRolePrincipal.cs
- StyleHelper.cs
- SplineKeyFrames.cs
- RequestCacheEntry.cs
- SortQuery.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- DataSourceCacheDurationConverter.cs
- Debugger.cs
- GradientBrush.cs
- SortFieldComparer.cs
- KnownBoxes.cs
- CompilerTypeWithParams.cs
- Expressions.cs
- LogEntryUtils.cs
- CatalogZone.cs
- SoapCodeExporter.cs
- GridViewSelectEventArgs.cs
- EditingCommands.cs
- DurableEnlistmentState.cs
- MediaTimeline.cs
- WindowsButton.cs
- MsmqException.cs
- WorkflowPageSetupDialog.cs
- DataGridColumn.cs
- CollectionsUtil.cs
- HeaderLabel.cs
- SafeProcessHandle.cs
- DataGridViewCellStyleConverter.cs
- DesignerSerializationOptionsAttribute.cs
- ErrorTableItemStyle.cs
- NonParentingControl.cs
- Matrix3DStack.cs
- XmlAutoDetectWriter.cs
- PropertyPath.cs
- ObjectListItem.cs
- GlyphCollection.cs
- FormViewPageEventArgs.cs
- SiteMap.cs
- XmlCodeExporter.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ObjectContext.cs
- RegexStringValidatorAttribute.cs
- ArrayWithOffset.cs
- ColorBlend.cs
- CategoryAttribute.cs
- InvalidateEvent.cs
- DataPagerFieldItem.cs
- ShadowGlyph.cs
- CodeTypeDelegate.cs
- OperationPerformanceCounters.cs
- CollectionViewProxy.cs
- DataMisalignedException.cs
- ServiceEndpointAssociationProvider.cs
- SRGSCompiler.cs
- DataKey.cs
- X509Chain.cs
- ThreadStaticAttribute.cs
- WsdlBuildProvider.cs
- DbExpressionBuilder.cs
- AttributeProviderAttribute.cs
- SQLByte.cs
- OperationDescription.cs
- MobileTemplatedControlDesigner.cs
- DataControlReference.cs
- XmlNullResolver.cs
- DesignerAttribute.cs
- Predicate.cs
- PublisherIdentityPermission.cs
- DataSourceView.cs
- NetworkInterface.cs
- BinaryConverter.cs
- ObjectListTitleAttribute.cs
- CacheModeConverter.cs
- IdentityNotMappedException.cs
- DataRecord.cs
- ClientSettingsStore.cs
- DbParameterCollection.cs
- GeneralTransformGroup.cs
- QueueAccessMode.cs
- XmlNamedNodeMap.cs
- DataGridViewRowPrePaintEventArgs.cs