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
- StatusBarItem.cs
- ApplicationDirectoryMembershipCondition.cs
- WorkflowMessageEventHandler.cs
- FontEmbeddingManager.cs
- DataGridViewRowPostPaintEventArgs.cs
- CheckBoxRenderer.cs
- StylusPointProperty.cs
- WithStatement.cs
- prompt.cs
- itemelement.cs
- DataControlFieldHeaderCell.cs
- TypeReference.cs
- Cursor.cs
- ConditionalWeakTable.cs
- CodeMethodMap.cs
- Int16.cs
- ControlTemplate.cs
- LocationSectionRecord.cs
- StackBuilderSink.cs
- CustomErrorsSection.cs
- SByteConverter.cs
- FontFamilyValueSerializer.cs
- HtmlTableCellCollection.cs
- PasswordRecovery.cs
- ValueConversionAttribute.cs
- ValidationErrorEventArgs.cs
- SiteMapNode.cs
- PerformanceCountersElement.cs
- EventHandlerList.cs
- SemanticBasicElement.cs
- InvalidChannelBindingException.cs
- ConfigXmlDocument.cs
- SqlCharStream.cs
- ColorPalette.cs
- WebBrowserNavigatingEventHandler.cs
- MaxSessionCountExceededException.cs
- DropShadowBitmapEffect.cs
- EntityViewGenerator.cs
- DataServiceQueryProvider.cs
- CmsInterop.cs
- GradientStopCollection.cs
- SchemaElementLookUpTable.cs
- WS2007FederationHttpBindingElement.cs
- XmlWrappingWriter.cs
- RefExpr.cs
- X509Logo.cs
- SymmetricAlgorithm.cs
- WorkflowMarkupSerializationProvider.cs
- MultipleViewProviderWrapper.cs
- BaseDataListPage.cs
- ResourceBinder.cs
- Misc.cs
- WaitHandleCannotBeOpenedException.cs
- DispatcherSynchronizationContext.cs
- PauseStoryboard.cs
- BufferedGraphicsContext.cs
- MatrixCamera.cs
- WorkflowMarkupElementEventArgs.cs
- StyleXamlParser.cs
- ListControl.cs
- XPathAxisIterator.cs
- If.cs
- codemethodreferenceexpression.cs
- ToolStripDropDown.cs
- ProvidersHelper.cs
- Transform3D.cs
- LinkGrep.cs
- RuleSettings.cs
- ContainerFilterService.cs
- SmiMetaData.cs
- SQLRoleProvider.cs
- RecordManager.cs
- XmlSchemaAny.cs
- DataGridViewRowEventArgs.cs
- BitmapEffectDrawingContent.cs
- XmlILStorageConverter.cs
- MetadataSerializer.cs
- MatrixConverter.cs
- MaskedTextBox.cs
- returneventsaver.cs
- BamlRecordWriter.cs
- PropertyNames.cs
- XpsColorContext.cs
- StylusPointPropertyUnit.cs
- HttpCapabilitiesBase.cs
- Console.cs
- XmlSchemaComplexContent.cs
- ComEventsInfo.cs
- CompiledQueryCacheEntry.cs
- OrderedDictionary.cs
- MetadataArtifactLoaderResource.cs
- XmlNodeList.cs
- ToolStripItemClickedEventArgs.cs
- MostlySingletonList.cs
- UrlMappingCollection.cs
- PrivateFontCollection.cs
- PersonalizationProviderHelper.cs
- ListViewItem.cs
- WebDescriptionAttribute.cs
- SoapSchemaExporter.cs