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
- ServiceMoniker.cs
- ILGenerator.cs
- ObjectQueryState.cs
- NativeMethodsOther.cs
- CssTextWriter.cs
- SizeValueSerializer.cs
- ComProxy.cs
- CodeAttributeArgument.cs
- ArglessEventHandlerProxy.cs
- _NegoStream.cs
- OutputWindow.cs
- MultilineStringEditor.cs
- ILGenerator.cs
- DataBindingList.cs
- DataGridViewSelectedRowCollection.cs
- Model3DGroup.cs
- SchemaNames.cs
- DataServiceKeyAttribute.cs
- FlowDocumentPage.cs
- MappingModelBuildProvider.cs
- XmlRootAttribute.cs
- OdbcErrorCollection.cs
- WorkflowRuntimeElement.cs
- ChannelManager.cs
- DynamicRenderer.cs
- BCryptHashAlgorithm.cs
- SmtpFailedRecipientsException.cs
- DataSourceDescriptorCollection.cs
- RuntimeCompatibilityAttribute.cs
- BlockUIContainer.cs
- AspCompat.cs
- ExceptionUtil.cs
- HtmlImage.cs
- RowCache.cs
- DragStartedEventArgs.cs
- HyperLinkField.cs
- ListSourceHelper.cs
- DataGridViewRowHeaderCell.cs
- ZipIOLocalFileDataDescriptor.cs
- NavigationPropertyEmitter.cs
- CellPartitioner.cs
- FormatException.cs
- HttpSessionStateWrapper.cs
- AbstractExpressions.cs
- DataViewManager.cs
- PersonalizationProvider.cs
- AmbiguousMatchException.cs
- HwndProxyElementProvider.cs
- SchemaExporter.cs
- UnicodeEncoding.cs
- DefaultTraceListener.cs
- LayoutInformation.cs
- ConsoleKeyInfo.cs
- EntityDataSourceState.cs
- ResourceCategoryAttribute.cs
- NavigateEvent.cs
- FlowDocumentPageViewerAutomationPeer.cs
- SQLSingleStorage.cs
- RangeValuePatternIdentifiers.cs
- TextParagraph.cs
- SafePEFileHandle.cs
- XmlSerializationWriter.cs
- LogWriteRestartAreaState.cs
- XmlSchemaParticle.cs
- StorageFunctionMapping.cs
- UnsafeMethods.cs
- ToolboxBitmapAttribute.cs
- ListViewDeletedEventArgs.cs
- BaseCAMarshaler.cs
- WindowsIPAddress.cs
- HtmlControl.cs
- LogAppendAsyncResult.cs
- Mouse.cs
- FormViewDesigner.cs
- ProvideValueServiceProvider.cs
- SqlProvider.cs
- SerializationSectionGroup.cs
- CodeDOMProvider.cs
- UniqueConstraint.cs
- VersionedStream.cs
- CodePrimitiveExpression.cs
- ActivationProxy.cs
- DataGridCellAutomationPeer.cs
- ControlIdConverter.cs
- ListBox.cs
- PanelDesigner.cs
- RSAPKCS1SignatureFormatter.cs
- SafeEventHandle.cs
- _IPv4Address.cs
- SeparatorAutomationPeer.cs
- precedingsibling.cs
- StreamGeometry.cs
- OrthographicCamera.cs
- XmlTextReader.cs
- BuildResultCache.cs
- ApplicationGesture.cs
- Calendar.cs
- FontUnitConverter.cs
- ImageMapEventArgs.cs
- _LoggingObject.cs