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
- Application.cs
- SamlAuthorityBinding.cs
- TextTreeUndoUnit.cs
- DataServiceException.cs
- ControlValuePropertyAttribute.cs
- ViewBase.cs
- XmlSchemaException.cs
- DataGridPagerStyle.cs
- SaveFileDialogDesigner.cs
- DesignerView.cs
- ValueExpressions.cs
- QueryCursorEventArgs.cs
- EdgeModeValidation.cs
- DateTimeStorage.cs
- SimpleWebHandlerParser.cs
- EventLogPermissionAttribute.cs
- OdbcConnectionFactory.cs
- Viewport3DAutomationPeer.cs
- FlowPanelDesigner.cs
- HwndHostAutomationPeer.cs
- BoundsDrawingContextWalker.cs
- SourceElementsCollection.cs
- ComUdtElement.cs
- MessagePropertyAttribute.cs
- TextWriterTraceListener.cs
- SwitchAttribute.cs
- SimpleHandlerFactory.cs
- milexports.cs
- DefaultProxySection.cs
- PrintPreviewControl.cs
- IIS7WorkerRequest.cs
- EdmSchemaError.cs
- SiteMapNodeCollection.cs
- DoubleLink.cs
- StateWorkerRequest.cs
- PEFileReader.cs
- FutureFactory.cs
- BaseTypeViewSchema.cs
- EventData.cs
- SecurityKeyIdentifier.cs
- XmlHierarchicalDataSourceView.cs
- HandledEventArgs.cs
- Vector3DCollection.cs
- BooleanKeyFrameCollection.cs
- EncodingDataItem.cs
- UriPrefixTable.cs
- SSmlParser.cs
- PenLineCapValidation.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- HashCoreRequest.cs
- GridViewColumn.cs
- ConnectivityStatus.cs
- WorkflowRuntimeServicesBehavior.cs
- PasswordDeriveBytes.cs
- CompilerHelpers.cs
- LinkUtilities.cs
- CapabilitiesRule.cs
- SimpleTextLine.cs
- MachineKey.cs
- InfiniteTimeSpanConverter.cs
- XmlAttributes.cs
- GridSplitter.cs
- FirewallWrapper.cs
- ImageMap.cs
- Win32.cs
- HandleCollector.cs
- WebPartEditorCancelVerb.cs
- WebPartMenu.cs
- OutOfProcStateClientManager.cs
- QuaternionAnimationBase.cs
- ExecutedRoutedEventArgs.cs
- fixedPageContentExtractor.cs
- dataprotectionpermission.cs
- HorizontalAlignConverter.cs
- LoadWorkflowCommand.cs
- MergeLocalizationDirectives.cs
- SystemIPv6InterfaceProperties.cs
- HeaderedItemsControl.cs
- shaperfactoryquerycachekey.cs
- DirectoryInfo.cs
- RightsManagementLicense.cs
- SqlDataRecord.cs
- DurableOperationContext.cs
- ConstraintConverter.cs
- NavigationProgressEventArgs.cs
- RemotingSurrogateSelector.cs
- DataGridViewImageColumn.cs
- TextEffect.cs
- ConnectionStringSettingsCollection.cs
- InternalMappingException.cs
- ReverseComparer.cs
- HtmlElementErrorEventArgs.cs
- ComAwareEventInfo.cs
- SecurityTokenAuthenticator.cs
- InkCollectionBehavior.cs
- securitymgrsite.cs
- ItemsControlAutomationPeer.cs
- shaper.cs
- RoleExceptions.cs
- ISAPIApplicationHost.cs