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
- MeshGeometry3D.cs
- DocumentPageViewAutomationPeer.cs
- PointCollectionConverter.cs
- WindowsImpersonationContext.cs
- AuthenticationManager.cs
- EdmType.cs
- assemblycache.cs
- TypefaceMetricsCache.cs
- UInt16Converter.cs
- ProfileManager.cs
- PartialCachingControl.cs
- CustomDictionarySources.cs
- GridViewUpdateEventArgs.cs
- EncryptedXml.cs
- DetailsViewDeleteEventArgs.cs
- DESCryptoServiceProvider.cs
- login.cs
- ProxyWebPart.cs
- OperationContractAttribute.cs
- ZoneIdentityPermission.cs
- TextCompositionEventArgs.cs
- SettingsPropertyValue.cs
- VersionPair.cs
- SkinIDTypeConverter.cs
- QueryReaderSettings.cs
- ControllableStoryboardAction.cs
- OdbcDataReader.cs
- OleAutBinder.cs
- BuilderElements.cs
- ApplicationSecurityManager.cs
- PersonalizationProviderHelper.cs
- InputScopeManager.cs
- ETagAttribute.cs
- SynchronizationLockException.cs
- Rect.cs
- ContractTypeNameCollection.cs
- AssociationSet.cs
- UserNamePasswordServiceCredential.cs
- HttpRuntimeSection.cs
- TextTreeTextElementNode.cs
- XmlDocumentType.cs
- CodeMethodReturnStatement.cs
- XmlSignificantWhitespace.cs
- XhtmlTextWriter.cs
- SoapObjectWriter.cs
- ComponentEditorPage.cs
- IndexingContentUnit.cs
- GridView.cs
- BooleanFunctions.cs
- KoreanLunisolarCalendar.cs
- UniqueIdentifierService.cs
- InheritanceUI.cs
- ManifestResourceInfo.cs
- SoundPlayer.cs
- LockCookie.cs
- ServiceNameElement.cs
- OperationFormatter.cs
- SerialPinChanges.cs
- IndexedSelectQueryOperator.cs
- FormatException.cs
- TextServicesManager.cs
- HwndTarget.cs
- FaultCode.cs
- Misc.cs
- MobileComponentEditorPage.cs
- DocumentXmlWriter.cs
- OleDbErrorCollection.cs
- SchemaReference.cs
- EasingFunctionBase.cs
- DataGridRelationshipRow.cs
- TextSerializer.cs
- SoapEnumAttribute.cs
- SvcMapFile.cs
- BitmapEffectGeneralTransform.cs
- cryptoapiTransform.cs
- AutomationPattern.cs
- ValidationPropertyAttribute.cs
- XPathMessageFilterElementCollection.cs
- _HeaderInfo.cs
- CompiledXpathExpr.cs
- PowerModeChangedEventArgs.cs
- ResourcesChangeInfo.cs
- CheckBoxRenderer.cs
- SynchronizationContext.cs
- TextEffect.cs
- COAUTHINFO.cs
- CredentialCache.cs
- XmlDownloadManager.cs
- ISSmlParser.cs
- DesignConnection.cs
- DataGridColumnHeadersPresenter.cs
- AssertFilter.cs
- CodePropertyReferenceExpression.cs
- DesignerTransactionCloseEvent.cs
- DataGridHeaderBorder.cs
- LinqTreeNodeEvaluator.cs
- ConditionalDesigner.cs
- ExpressionBinding.cs
- RowBinding.cs
- SuppressMessageAttribute.cs