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
- RowToFieldTransformer.cs
- StylusEventArgs.cs
- ControlBuilder.cs
- XmlEncoding.cs
- LineInfo.cs
- HeaderUtility.cs
- SimpleWebHandlerParser.cs
- LinearGradientBrush.cs
- CodeRegionDirective.cs
- ServiceModelActivity.cs
- GroupBox.cs
- ControlFilterExpression.cs
- RuleAction.cs
- ComplusEndpointConfigContainer.cs
- InputDevice.cs
- SerialPinChanges.cs
- ContentPresenter.cs
- XmlSchema.cs
- CompilationSection.cs
- WindowsFormsDesignerOptionService.cs
- ReferenceConverter.cs
- DesignerMetadata.cs
- BitmapSource.cs
- ContentTextAutomationPeer.cs
- AnonymousIdentificationModule.cs
- MethodBuilderInstantiation.cs
- AppDomainResourcePerfCounters.cs
- SQLInt32.cs
- DataTableClearEvent.cs
- EnumMemberAttribute.cs
- MethodBuilderInstantiation.cs
- EntityDataSourceDataSelection.cs
- LassoSelectionBehavior.cs
- DoubleAnimationBase.cs
- PeerConnector.cs
- DataServiceResponse.cs
- ToolStripItemGlyph.cs
- WindowsSecurityTokenAuthenticator.cs
- DataList.cs
- ColumnWidthChangedEvent.cs
- Table.cs
- MeasureData.cs
- XPathException.cs
- _HTTPDateParse.cs
- SqlExpressionNullability.cs
- TagPrefixCollection.cs
- SBCSCodePageEncoding.cs
- FileEnumerator.cs
- UIElement.cs
- ImageMap.cs
- XPathSelectionIterator.cs
- BindingNavigator.cs
- List.cs
- IndexedGlyphRun.cs
- BindToObject.cs
- XPathPatternParser.cs
- Section.cs
- Errors.cs
- DataControlField.cs
- TracedNativeMethods.cs
- Pen.cs
- FileUpload.cs
- ThrowHelper.cs
- AddValidationError.cs
- HtmlButton.cs
- OleDbInfoMessageEvent.cs
- QilLiteral.cs
- WindowsPrincipal.cs
- ListenerConnectionDemuxer.cs
- WebEventCodes.cs
- RSATokenProvider.cs
- EntityViewContainer.cs
- WebPartVerb.cs
- XhtmlBasicImageAdapter.cs
- BinaryNode.cs
- CodeDomSerializer.cs
- ParserStreamGeometryContext.cs
- AuthenticationManager.cs
- ExpressionsCollectionEditor.cs
- BooleanFacetDescriptionElement.cs
- QueryGenerator.cs
- ContextDataSource.cs
- PrePostDescendentsWalker.cs
- SqlInternalConnectionSmi.cs
- HMAC.cs
- OlePropertyStructs.cs
- SmiMetaDataProperty.cs
- GetKeyedHashRequest.cs
- PriorityQueue.cs
- SmiMetaDataProperty.cs
- Sentence.cs
- LoadGrammarCompletedEventArgs.cs
- DefaultProxySection.cs
- TextRangeEdit.cs
- TabItemAutomationPeer.cs
- DockPatternIdentifiers.cs
- HwndHostAutomationPeer.cs
- MSHTMLHostUtil.cs
- DataComponentGenerator.cs
- InvokePatternIdentifiers.cs