Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- TreeViewItem.cs
- MenuItemBinding.cs
- KeyboardEventArgs.cs
- OutputCacheSettings.cs
- ActivityMarkupSerializer.cs
- FontStyle.cs
- DataGridViewCellParsingEventArgs.cs
- HtmlInputImage.cs
- LookupNode.cs
- XmlSignificantWhitespace.cs
- ButtonColumn.cs
- InstallerTypeAttribute.cs
- ResolveResponse.cs
- TextParaLineResult.cs
- TcpWorkerProcess.cs
- MouseOverProperty.cs
- PriorityBindingExpression.cs
- OutputCacheProfile.cs
- WebPartConnectionsConfigureVerb.cs
- TypeConverterHelper.cs
- HierarchicalDataTemplate.cs
- RepeatInfo.cs
- AbstractSvcMapFileLoader.cs
- ReferenceService.cs
- DSACryptoServiceProvider.cs
- ProofTokenCryptoHandle.cs
- FontEmbeddingManager.cs
- BitmapEffectGroup.cs
- Margins.cs
- UnauthorizedWebPart.cs
- BitmapEffectGroup.cs
- BaseInfoTable.cs
- TransactionTraceIdentifier.cs
- namescope.cs
- FilteredReadOnlyMetadataCollection.cs
- CacheModeConverter.cs
- WmlCalendarAdapter.cs
- XmlSchemaAttributeGroupRef.cs
- KnownTypeHelper.cs
- PassportIdentity.cs
- Merger.cs
- ItemDragEvent.cs
- LinqDataSourceStatusEventArgs.cs
- WindowsBrush.cs
- AssertSection.cs
- KeyedCollection.cs
- IncrementalCompileAnalyzer.cs
- CFStream.cs
- NamespaceMapping.cs
- CodeDomSerializationProvider.cs
- CodeGotoStatement.cs
- QuadTree.cs
- ParserOptions.cs
- SHA384Managed.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ConsumerConnectionPoint.cs
- GeneratedCodeAttribute.cs
- IPEndPoint.cs
- ResourceAttributes.cs
- DelayDesigner.cs
- CalculatedColumn.cs
- SecurityDocument.cs
- ConditionalAttribute.cs
- CacheMemory.cs
- ManagedWndProcTracker.cs
- PolicyLevel.cs
- CanonicalFontFamilyReference.cs
- DrawingImage.cs
- XmlWriterSettings.cs
- SoapElementAttribute.cs
- ZipIOExtraField.cs
- Util.cs
- SecondaryViewProvider.cs
- BitVec.cs
- GroupBox.cs
- sortedlist.cs
- XmlFormatExtensionAttribute.cs
- PnrpPermission.cs
- FontWeight.cs
- ProcessManager.cs
- Viewport2DVisual3D.cs
- Size.cs
- ManualResetEvent.cs
- UrlMapping.cs
- WorkflowDispatchContext.cs
- XmlQueryTypeFactory.cs
- CustomCategoryAttribute.cs
- RefExpr.cs
- EncoderParameters.cs
- Random.cs
- FirewallWrapper.cs
- SQLRoleProvider.cs
- BaseTypeViewSchema.cs
- CheckBox.cs
- ADConnectionHelper.cs
- SqlCharStream.cs
- StateManagedCollection.cs
- DataServiceHostFactory.cs
- SQLString.cs
- IgnoreDataMemberAttribute.cs