Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / Interop / SafeNativeMethods.cs / 1305376 / SafeNativeMethods.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging.Interop { using System.Text; using System.Threading; using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.ComponentModel; using Microsoft.Win32; using System.Security; using System.Security.Permissions; using System.Runtime.ConstrainedExecution; //for ReliabilityContract [ System.Runtime.InteropServices.ComVisible(false), System.Security.SuppressUnmanagedCodeSecurityAttribute() ] internal static class SafeNativeMethods { public unsafe delegate void ReceiveCallback(int result, IntPtr handle, int timeout, int action, IntPtr propertiesPointer, NativeOverlapped * overlappedPointer, IntPtr cursorHandle); [DllImport(ExternDll.Mqrt, EntryPoint="MQBeginTransaction", CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public static extern int IntMQBeginTransaction(out ITransaction refTransaction); public static int MQBeginTransaction(out ITransaction refTransaction) { try { return IntMQBeginTransaction(out refTransaction); } catch (DllNotFoundException) { throw new InvalidOperationException(Res.GetString(Res.MSMQNotInstalled)); } } [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static extern int MQCloseQueue(IntPtr handle); [DllImport(ExternDll.Mqrt, EntryPoint="MQPathNameToFormatName", CharSet=System.Runtime.InteropServices.CharSet.Unicode)] private static extern int IntMQPathNameToFormatName(string pathName, StringBuilder formatName, ref int count); public static int MQPathNameToFormatName(string pathName, StringBuilder formatName, ref int count) { try { return IntMQPathNameToFormatName(pathName, formatName, ref count); } catch (DllNotFoundException) { throw new InvalidOperationException(Res.GetString(Res.MSMQNotInstalled)); } } [DllImport(ExternDll.Mqrt, EntryPoint="MQInstanceToFormatName", CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public static extern int IntMQInstanceToFormatName(byte[] id, StringBuilder formatName, ref int count); public static int MQInstanceToFormatName(byte[] id, StringBuilder formatName, ref int count) { try { return IntMQInstanceToFormatName(id, formatName, ref count); } catch (DllNotFoundException) { throw new InvalidOperationException(Res.GetString(Res.MSMQNotInstalled)); } } [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public static extern int MQCreateCursor(MessageQueueHandle handle, out CursorHandle cursorHandle); [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static extern int MQCloseCursor(IntPtr cursorHandle); [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static extern void MQFreeSecurityContext(IntPtr handle); [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public static extern int MQLocateEnd(IntPtr enumHandle); [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public static extern int MQLocateNext(LocatorHandle enumHandle, ref int propertyCount, [Out] MQPROPVARIANTS[] variantArray); [DllImport(ExternDll.Mqrt, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] public static extern void MQFreeMemory(IntPtr memory); [DllImport(ExternDll.Kernel32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true)] public static extern bool GetHandleInformation(SafeHandle handle, out int handleInformation); [DllImport(ExternDll.Kernel32)] public static extern IntPtr LocalFree(IntPtr hMem); [DllImport(ExternDll.Advapi32)] public static extern int SetEntriesInAclW(int count, //[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0, ArraySubType = ExplicitAccess)] //ExplicitAccess[] entries, IntPtr entries, IntPtr oldacl, out IntPtr newAcl); [DllImport(ExternDll.Kernel32, CharSet=CharSet.Auto)] public static extern bool GetComputerName(StringBuilder lpBuffer, int[] nSize); public const int FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100, FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200, FORMAT_MESSAGE_FROM_STRING = 0x00000400, FORMAT_MESSAGE_FROM_HMODULE = 0x00000800, FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000, FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000, FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF; [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Auto)] public static extern int FormatMessage(int dwFlags, IntPtr lpSource, int dwMessageId, int dwLanguageId, StringBuilder lpBuffer, int nSize, IntPtr arguments); } } // 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
- FontStyle.cs
- DesignerTransactionCloseEvent.cs
- EventRoute.cs
- ELinqQueryState.cs
- ProvideValueServiceProvider.cs
- XsdDateTime.cs
- StorageMappingItemLoader.cs
- SqlRowUpdatingEvent.cs
- SelectionItemPattern.cs
- ExpressionLink.cs
- ControlCodeDomSerializer.cs
- PartitionedDataSource.cs
- NetworkStream.cs
- QilLiteral.cs
- ContextProperty.cs
- EventlogProvider.cs
- FontUnit.cs
- Validator.cs
- CodeBlockBuilder.cs
- ConstraintCollection.cs
- RemoteWebConfigurationHost.cs
- TableHeaderCell.cs
- LinearGradientBrush.cs
- PerformanceCounterPermissionAttribute.cs
- TCPClient.cs
- PageOrientation.cs
- SignatureResourcePool.cs
- WebPartEditVerb.cs
- StrokeCollection.cs
- QueryOutputWriter.cs
- ProfileServiceManager.cs
- ByeMessage11.cs
- AudienceUriMode.cs
- TrustManager.cs
- WebCategoryAttribute.cs
- DocumentPageView.cs
- SerializationFieldInfo.cs
- MetadataSource.cs
- SoundPlayer.cs
- Rules.cs
- TreePrinter.cs
- SaveFileDialogDesigner.cs
- LineMetrics.cs
- Model3DGroup.cs
- PropertyItem.cs
- DbProviderFactory.cs
- DictationGrammar.cs
- WindowsBrush.cs
- ListSurrogate.cs
- WebControlParameterProxy.cs
- SupportingTokenAuthenticatorSpecification.cs
- AuthenticationModulesSection.cs
- MetadataItemEmitter.cs
- DeflateInput.cs
- ContentDisposition.cs
- ClientScriptManager.cs
- QuaternionRotation3D.cs
- BlurBitmapEffect.cs
- XmlSchemaAppInfo.cs
- IconHelper.cs
- PointLight.cs
- SqlVersion.cs
- DataGridViewLinkCell.cs
- FontWeightConverter.cs
- DrawingContextDrawingContextWalker.cs
- FindSimilarActivitiesVerb.cs
- GetMemberBinder.cs
- EditorZoneDesigner.cs
- GradientStop.cs
- ParamArrayAttribute.cs
- RichTextBoxConstants.cs
- ActivityExecutorOperation.cs
- HttpApplication.cs
- Themes.cs
- MemberMemberBinding.cs
- DbConnectionHelper.cs
- _CacheStreams.cs
- HyperLinkColumn.cs
- TextProperties.cs
- SelectionPattern.cs
- QueryStringParameter.cs
- GregorianCalendar.cs
- EventItfInfo.cs
- PaintValueEventArgs.cs
- RecordManager.cs
- BindingContext.cs
- CodeTypeParameter.cs
- DateTimeConverter.cs
- ArgumentException.cs
- EntityModelSchemaGenerator.cs
- StateRuntime.cs
- Debug.cs
- WebServiceMethodData.cs
- TPLETWProvider.cs
- DataComponentNameHandler.cs
- FormViewModeEventArgs.cs
- DefaultPropertiesToSend.cs
- TempEnvironment.cs
- XDeferredAxisSource.cs
- TableCellCollection.cs