Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcEnvironment.cs / 1305376 / OdbcEnvironment.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data; using System.Data.Common; using System.Threading; namespace System.Data.Odbc { sealed internal class OdbcEnvironment { static private object _globalEnvironmentHandle; static private object _globalEnvironmentHandleLock = new object(); private OdbcEnvironment () {} // default const. static internal OdbcEnvironmentHandle GetGlobalEnvironmentHandle() { OdbcEnvironmentHandle globalEnvironmentHandle = _globalEnvironmentHandle as OdbcEnvironmentHandle; if(null == globalEnvironmentHandle) { ADP.CheckVersionMDAC(true); lock(_globalEnvironmentHandleLock) { globalEnvironmentHandle = _globalEnvironmentHandle as OdbcEnvironmentHandle; if(null == globalEnvironmentHandle) { globalEnvironmentHandle = new OdbcEnvironmentHandle(); _globalEnvironmentHandle = globalEnvironmentHandle; } } } return globalEnvironmentHandle; } static internal void ReleaseObjectPool() { object globalEnvironmentHandle = Interlocked.Exchange(ref _globalEnvironmentHandle, null); if(null != globalEnvironmentHandle) { (globalEnvironmentHandle as OdbcEnvironmentHandle).Dispose(); // internally refcounted so will happen correctly } } } } // 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
- DataSourceControl.cs
- Accessible.cs
- ContractSearchPattern.cs
- TreeNodeStyle.cs
- StatusBarItem.cs
- FlagsAttribute.cs
- WindowsListViewScroll.cs
- OleDbParameter.cs
- PrintDialog.cs
- ComponentChangedEvent.cs
- UpDownBase.cs
- LinearKeyFrames.cs
- OperationCanceledException.cs
- DesignRelationCollection.cs
- ServerReliableChannelBinder.cs
- ReceiveActivityDesignerTheme.cs
- ToolStripItemTextRenderEventArgs.cs
- ResourceDictionary.cs
- SqlRowUpdatingEvent.cs
- HttpChannelHelper.cs
- OutputCacheProfileCollection.cs
- BridgeDataReader.cs
- CardSpaceShim.cs
- ZoneMembershipCondition.cs
- ThreadPool.cs
- FormViewRow.cs
- UInt64Converter.cs
- FutureFactory.cs
- WindowPattern.cs
- HttpRuntimeSection.cs
- MarkupObject.cs
- SettingsAttributeDictionary.cs
- BinaryObjectReader.cs
- FrameSecurityDescriptor.cs
- HttpPostServerProtocol.cs
- TextRunProperties.cs
- PassportAuthenticationEventArgs.cs
- BaseParser.cs
- ToolStripItemImageRenderEventArgs.cs
- PropertyReferenceExtension.cs
- RIPEMD160Managed.cs
- WebPartEditorOkVerb.cs
- PropertyPushdownHelper.cs
- StreamMarshaler.cs
- TraceContext.cs
- FormDesigner.cs
- CodeExporter.cs
- InvalidAsynchronousStateException.cs
- FocusWithinProperty.cs
- HtmlInputImage.cs
- Delay.cs
- Environment.cs
- SecurityVerifiedMessage.cs
- PageSettings.cs
- NamedObjectList.cs
- SparseMemoryStream.cs
- WindowsStartMenu.cs
- IList.cs
- SerializationStore.cs
- QuadraticEase.cs
- AuthenticationService.cs
- DecimalFormatter.cs
- Choices.cs
- InstanceDataCollection.cs
- IdentityHolder.cs
- CodeExporter.cs
- LabelDesigner.cs
- TemplateColumn.cs
- _ConnectStream.cs
- Win32KeyboardDevice.cs
- KoreanCalendar.cs
- ProfileSection.cs
- ObjectIDGenerator.cs
- ServerValidateEventArgs.cs
- Viewport3DAutomationPeer.cs
- HostingEnvironment.cs
- PickDesigner.xaml.cs
- CursorConverter.cs
- RuleElement.cs
- BitmapImage.cs
- DataPagerFieldItem.cs
- Pair.cs
- TextProviderWrapper.cs
- LayoutSettings.cs
- DataListItem.cs
- ConfigurationSectionCollection.cs
- TerminatorSinks.cs
- SingleKeyFrameCollection.cs
- CompoundFileDeflateTransform.cs
- ConstraintCollection.cs
- QueryStringConverter.cs
- ObjectSecurity.cs
- TextRangeSerialization.cs
- PartitionerQueryOperator.cs
- CodeAttributeArgument.cs
- MgmtConfigurationRecord.cs
- XmlDataSourceView.cs
- ModifierKeysValueSerializer.cs
- IsolatedStorageFileStream.cs
- Stylesheet.cs