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
- TypeDescriptionProviderAttribute.cs
- CatalogPartChrome.cs
- StronglyTypedResourceBuilder.cs
- XmlExceptionHelper.cs
- XmlAnyElementAttribute.cs
- ChtmlSelectionListAdapter.cs
- PlatformCulture.cs
- SafeWaitHandle.cs
- GridViewRow.cs
- MenuItem.cs
- JoinGraph.cs
- XmlCollation.cs
- ProviderSettingsCollection.cs
- XmlDictionaryReader.cs
- ProviderBase.cs
- RC2.cs
- WindowsFormsHostPropertyMap.cs
- HttpModuleActionCollection.cs
- FilteredDataSetHelper.cs
- CreateRefExpr.cs
- RenderData.cs
- SystemDiagnosticsSection.cs
- FrameworkElementAutomationPeer.cs
- XmlResolver.cs
- ControlAdapter.cs
- Rotation3DAnimation.cs
- DataServiceExpressionVisitor.cs
- StructuralCache.cs
- CqlParserHelpers.cs
- NativeMethods.cs
- OdbcRowUpdatingEvent.cs
- DrawingVisualDrawingContext.cs
- GeneralTransform3D.cs
- AutomationProperties.cs
- altserialization.cs
- TextRange.cs
- Int32EqualityComparer.cs
- __ConsoleStream.cs
- AssemblyNameEqualityComparer.cs
- CodeStatementCollection.cs
- BufferedStream.cs
- HttpHeaderCollection.cs
- XamlDesignerSerializationManager.cs
- ManagementClass.cs
- PersonalizationProviderHelper.cs
- SqlBuffer.cs
- ProjectionCamera.cs
- RenderOptions.cs
- AccessKeyManager.cs
- HttpRuntime.cs
- DuplicateMessageDetector.cs
- XPathDocumentNavigator.cs
- ISAPIApplicationHost.cs
- EndpointIdentityConverter.cs
- LingerOption.cs
- SapiRecognizer.cs
- EditBehavior.cs
- GorillaCodec.cs
- ClientBuildManager.cs
- SafeNativeMethodsOther.cs
- DurationConverter.cs
- XmlText.cs
- indexingfiltermarshaler.cs
- FamilyMap.cs
- HtmlInputControl.cs
- TextParentUndoUnit.cs
- Paragraph.cs
- ThicknessConverter.cs
- TcpDuplicateContext.cs
- CodeTypeDeclaration.cs
- PlainXmlSerializer.cs
- PersonalizationStateQuery.cs
- Pair.cs
- Grammar.cs
- AccessedThroughPropertyAttribute.cs
- TextElementAutomationPeer.cs
- Array.cs
- NumberSubstitution.cs
- Message.cs
- SecurityRuntime.cs
- ServiceNameCollection.cs
- WindowsFormsSectionHandler.cs
- TransactionFlowBindingElement.cs
- WebPartActionVerb.cs
- ObjectContextServiceProvider.cs
- FunctionImportElement.cs
- Bezier.cs
- HttpApplication.cs
- SelectionRange.cs
- DeferrableContentConverter.cs
- SharedHttpTransportManager.cs
- DesignTimeParseData.cs
- LocationSectionRecord.cs
- GetRecipientListRequest.cs
- AppDomainUnloadedException.cs
- DesignerHost.cs
- Parameter.cs
- RotateTransform.cs
- PKCS1MaskGenerationMethod.cs
- ApplicationFileCodeDomTreeGenerator.cs