Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / Interop / Columns.cs / 1305376 / Columns.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging.Interop { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.ComponentModel; using System.Globalization; //for CultureInfo using Microsoft.Win32; internal class Columns { private int maxCount; private MQCOLUMNSET columnSet = new MQCOLUMNSET(); public Columns(int maxCount) { this.maxCount = maxCount; this.columnSet.columnIdentifiers = Marshal.AllocHGlobal(maxCount * 4); this.columnSet.columnCount = 0; } public virtual void AddColumnId(int columnId) { lock(this) { if (this.columnSet.columnCount >= this.maxCount) throw new InvalidOperationException(Res.GetString(Res.TooManyColumns, this.maxCount.ToString(CultureInfo.CurrentCulture))); ++ this.columnSet.columnCount; this.columnSet.SetId(columnId, this.columnSet.columnCount - 1); } } public virtual MQCOLUMNSET GetColumnsRef() { return this.columnSet; } [StructLayout(LayoutKind.Sequential)] public class MQCOLUMNSET{ public int columnCount; [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2006:UseSafeHandleToEncapsulateNativeResources")] public IntPtr columnIdentifiers; ~MQCOLUMNSET() { if (this.columnIdentifiers != (IntPtr)0) { Marshal.FreeHGlobal(this.columnIdentifiers); this.columnIdentifiers = (IntPtr)0; } } public virtual void SetId(int columnId, int index) { Marshal.WriteInt32((IntPtr)((long)this.columnIdentifiers + (index * 4)), columnId); } } } } // 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
- DetailsViewModeEventArgs.cs
- SimpleLine.cs
- EventLogPropertySelector.cs
- AccessedThroughPropertyAttribute.cs
- ImageDrawing.cs
- BCLDebug.cs
- DifferencingCollection.cs
- SettingsPropertyValueCollection.cs
- IndentedTextWriter.cs
- TableLayoutSettingsTypeConverter.cs
- PropertySourceInfo.cs
- ConfigurationStrings.cs
- _DisconnectOverlappedAsyncResult.cs
- DebugView.cs
- SafeFileHandle.cs
- AdPostCacheSubstitution.cs
- QueryableDataSource.cs
- Process.cs
- GenericUriParser.cs
- EffectiveValueEntry.cs
- AssociationTypeEmitter.cs
- BamlLocalizableResource.cs
- RelationshipEntry.cs
- VersionPair.cs
- ListControlConvertEventArgs.cs
- MediaElementAutomationPeer.cs
- DropDownList.cs
- ProgressBarBrushConverter.cs
- HttpCachePolicyElement.cs
- RotationValidation.cs
- RouteCollection.cs
- Vector3DKeyFrameCollection.cs
- DiscriminatorMap.cs
- VScrollProperties.cs
- ElementNotAvailableException.cs
- SR.Designer.cs
- DictionaryBase.cs
- ConditionalWeakTable.cs
- LocalIdCollection.cs
- ButtonBaseAdapter.cs
- CacheHelper.cs
- XmlSerializerNamespaces.cs
- AlternateViewCollection.cs
- CustomCategoryAttribute.cs
- MasterPage.cs
- LeftCellWrapper.cs
- BitmapFrameDecode.cs
- PackageDigitalSignatureManager.cs
- smtpconnection.cs
- XmlReflectionImporter.cs
- BitmapEffectInputData.cs
- StdRegProviderWrapper.cs
- safex509handles.cs
- DynamicFilterExpression.cs
- ComplexObject.cs
- TextEditorTyping.cs
- MediaTimeline.cs
- LineMetrics.cs
- Pair.cs
- SoapIncludeAttribute.cs
- PathGradientBrush.cs
- ListManagerBindingsCollection.cs
- ButtonChrome.cs
- ModuleConfigurationInfo.cs
- XmlSchemaException.cs
- Compensate.cs
- WebPartConnectionCollection.cs
- PagesChangedEventArgs.cs
- LinqDataSourceHelper.cs
- LayoutTableCell.cs
- MembershipPasswordException.cs
- UnsafeNativeMethods.cs
- OciLobLocator.cs
- Vector3DCollectionConverter.cs
- BrushConverter.cs
- Clause.cs
- Int64Animation.cs
- ObjectQueryProvider.cs
- TextServicesCompartmentEventSink.cs
- InlineCollection.cs
- WindowsMenu.cs
- EdmProviderManifest.cs
- MimeMultiPart.cs
- AssemblySettingAttributes.cs
- MultipleViewProviderWrapper.cs
- MappedMetaModel.cs
- PackageRelationship.cs
- MethodSet.cs
- NativeMethods.cs
- XmlSchemaFacet.cs
- SendKeys.cs
- RegionInfo.cs
- Floater.cs
- TriggerCollection.cs
- PathFigure.cs
- ToolBar.cs
- ValidationHelper.cs
- cookieexception.cs
- DurableInstanceProvider.cs
- ThreadStaticAttribute.cs