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
- BitmapSourceSafeMILHandle.cs
- SettingsSection.cs
- _TLSstream.cs
- DataGridViewAutoSizeModeEventArgs.cs
- HyperLinkColumn.cs
- AutoSizeToolBoxItem.cs
- BeginStoryboard.cs
- Int32Storage.cs
- DataGridViewCell.cs
- FileVersionInfo.cs
- ValueChangedEventManager.cs
- GreenMethods.cs
- SourceLineInfo.cs
- LinqDataSourceHelper.cs
- ControlBuilderAttribute.cs
- SqlDependencyListener.cs
- FamilyTypeface.cs
- DeferredReference.cs
- SimpleRecyclingCache.cs
- ToolboxItemFilterAttribute.cs
- ObjectIDGenerator.cs
- ZoomingMessageFilter.cs
- XmlSubtreeReader.cs
- DragDeltaEventArgs.cs
- GregorianCalendar.cs
- XmlUtil.cs
- SQLGuidStorage.cs
- RowUpdatedEventArgs.cs
- FullTrustAssembliesSection.cs
- GrammarBuilderDictation.cs
- sortedlist.cs
- ApplicationActivator.cs
- COM2Enum.cs
- CopyAction.cs
- ProjectionPath.cs
- TransferRequestHandler.cs
- GrammarBuilderBase.cs
- AesManaged.cs
- ProfileManager.cs
- TypeDelegator.cs
- DefaultMemberAttribute.cs
- PerformanceCountersElement.cs
- CodeDefaultValueExpression.cs
- AxisAngleRotation3D.cs
- Array.cs
- ListViewUpdatedEventArgs.cs
- MainMenu.cs
- Menu.cs
- ISessionStateStore.cs
- ExpandCollapseProviderWrapper.cs
- WmpBitmapDecoder.cs
- AuditLogLocation.cs
- FileDialogCustomPlaces.cs
- AuthenticationException.cs
- ScriptResourceHandler.cs
- AnnotationResource.cs
- TargetPerspective.cs
- SapiGrammar.cs
- DiscriminatorMap.cs
- ViewManager.cs
- PackUriHelper.cs
- SystemMulticastIPAddressInformation.cs
- ExternalException.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ComponentEvent.cs
- ZoneButton.cs
- TextFormatterHost.cs
- FileDialog.cs
- LogWriteRestartAreaAsyncResult.cs
- _DigestClient.cs
- HtmlTable.cs
- Model3DCollection.cs
- MsmqNonTransactedPoisonHandler.cs
- SpellCheck.cs
- MergeEnumerator.cs
- XmlSchemaAnnotation.cs
- DataServiceClientException.cs
- ThousandthOfEmRealDoubles.cs
- TrustLevel.cs
- TextRenderingModeValidation.cs
- SignedXml.cs
- ParsedAttributeCollection.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- ElementHostAutomationPeer.cs
- SimpleTypeResolver.cs
- MethodBody.cs
- HostVisual.cs
- CloseCryptoHandleRequest.cs
- TextWriterEngine.cs
- ModuleConfigurationInfo.cs
- Style.cs
- WebPartManagerInternals.cs
- UpdatePanel.cs
- NameValueFileSectionHandler.cs
- DataReaderContainer.cs
- EditorAttribute.cs
- ElementFactory.cs
- CheckBox.cs
- Pen.cs
- StyleConverter.cs