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
- BitmapEffectInputData.cs
- Fx.cs
- FunctionDescription.cs
- Message.cs
- ByteStack.cs
- KnownAssembliesSet.cs
- GeneralTransform3D.cs
- ProcessInputEventArgs.cs
- PathNode.cs
- EventDriven.cs
- SchemaName.cs
- GrammarBuilderDictation.cs
- XmlSchemaExporter.cs
- Guid.cs
- FixUpCollection.cs
- __Filters.cs
- DecoderNLS.cs
- NativeMethods.cs
- FormClosingEvent.cs
- ResourceReferenceKeyNotFoundException.cs
- Vector3DKeyFrameCollection.cs
- XmlSignatureManifest.cs
- ApplicationCommands.cs
- GlyphsSerializer.cs
- SemanticKeyElement.cs
- PageStatePersister.cs
- PartialTrustVisibleAssembly.cs
- EndEvent.cs
- TemplateFactory.cs
- Stackframe.cs
- RootBrowserWindow.cs
- CultureTableRecord.cs
- MappingModelBuildProvider.cs
- DefaultEventAttribute.cs
- Pair.cs
- GeneralTransform3DTo2DTo3D.cs
- SudsCommon.cs
- KeyTime.cs
- CodeObjectCreateExpression.cs
- RenderDataDrawingContext.cs
- UIntPtr.cs
- DataBindingExpressionBuilder.cs
- Error.cs
- FontStyles.cs
- OleDbFactory.cs
- Object.cs
- ValueType.cs
- CultureMapper.cs
- HwndHost.cs
- AnnouncementEndpointElement.cs
- DataGridViewSelectedCellCollection.cs
- basenumberconverter.cs
- ModelProperty.cs
- Guid.cs
- MemberHolder.cs
- EmptyStringExpandableObjectConverter.cs
- Positioning.cs
- XmlSchemaAnnotation.cs
- LocalizedNameDescriptionPair.cs
- InitializationEventAttribute.cs
- ComponentResourceManager.cs
- Rectangle.cs
- SynchronizedReadOnlyCollection.cs
- SocketCache.cs
- RuntimeEnvironment.cs
- PropertyValueChangedEvent.cs
- GridViewEditEventArgs.cs
- ObservableDictionary.cs
- ToggleButton.cs
- StateDesigner.Helpers.cs
- AuthStoreRoleProvider.cs
- ReachSerializationUtils.cs
- SafeIUnknown.cs
- Int32Converter.cs
- CfgArc.cs
- SchemaElementDecl.cs
- CompositionDesigner.cs
- FlowDocumentReaderAutomationPeer.cs
- OrderByBuilder.cs
- UniqueSet.cs
- Main.cs
- HandlerBase.cs
- DateBoldEvent.cs
- TextBoxDesigner.cs
- Panel.cs
- SqlCommandSet.cs
- AncestorChangedEventArgs.cs
- SynchronizedPool.cs
- Int32RectValueSerializer.cs
- WebConfigurationFileMap.cs
- SoapRpcMethodAttribute.cs
- XmlKeywords.cs
- DataPagerFieldCommandEventArgs.cs
- QueueAccessMode.cs
- SqlInternalConnection.cs
- WebServiceParameterData.cs
- SystemWebSectionGroup.cs
- XmlNodeChangedEventArgs.cs
- XmlChildNodes.cs
- ValueChangedEventManager.cs