Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / SMSvcHost / System / ServiceModel / Activation / WebHostUnsafeNativeMethods.cs / 1 / WebHostUnsafeNativeMethods.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.Runtime.InteropServices; using System.Security; using System.Runtime.ConstrainedExecution; using Microsoft.Win32.SafeHandles; [SuppressUnmanagedCodeSecurityAttribute()] // functions in %windir%\system32\inetsrv\wbhstipm.dll // headers in //depot/devdiv/private/webnetorcas/ndp/iis/iisrearc/core/inc/wbhst_entry.h // implementation in //depot/devdiv/private/webnetorcas/ndp/iis/iisrearc/core/ap/wbhstipm/dll/clientprotocol.cxx static class WebHostUnsafeNativeMethods { const string KERNEL32 = "kernel32.dll"; internal const int LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008; internal delegate int WebhostGetVersion(out int major, out int minor); internal delegate void WebhostListenerApplicationAppPoolChanged(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appKey, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId); internal delegate void WebhostListenerApplicationBindingsChanged(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appKey, IntPtr bindingsMultiSz, int numberOfBindings); internal delegate void WebhostListenerApplicationCreated(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appKey, [MarshalAs(UnmanagedType.LPWStr)] string path, int siteId, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, IntPtr bindingsMultiSz, int numberOfBindings, bool requestsBlocked); internal delegate void WebhostListenerApplicationDeleted(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appKey); internal delegate void WebhostListenerApplicationPoolAllListenerChannelInstancesStopped(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, int listenerChannelId); internal delegate void WebhostListenerApplicationPoolCanOpenNewListenerChannelInstance(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, int listenerChannelId); internal delegate void WebhostListenerApplicationPoolCreated(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, IntPtr sid); internal delegate void WebhostListenerApplicationPoolDeleted(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId); internal delegate void WebhostListenerApplicationPoolIdentityChanged(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, IntPtr sid); internal delegate void WebhostListenerApplicationPoolStateChanged(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, bool isEnabled); internal delegate void WebhostListenerApplicationRequestsBlockedChanged(IntPtr context, [MarshalAs(UnmanagedType.LPWStr)] string appKey, bool requestsBlocked); internal delegate void WebhostListenerConfigManagerConnected(IntPtr context); internal delegate void WebhostListenerConfigManagerConnectRejected(IntPtr context, int hresult); internal delegate void WebhostListenerConfigManagerDisconnected(IntPtr context, int hresult); internal delegate void WebhostListenerConfigManagerInitializationCompleted(IntPtr context); internal delegate int WebhostRegisterProtocol([MarshalAs(UnmanagedType.LPWStr)] string protocolId, ref WebhostListenerCallbacks listenerCallbacks, IntPtr context, out int protocolHandle); internal delegate int WebhostOpenListenerChannelInstance(int protocolHandle, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, int listenerChannelId, byte[] queueBlob, int queueBlobByteCount); internal delegate int WebhostCloseAllListenerChannelInstances(int protocolHandle, [MarshalAs(UnmanagedType.LPWStr)] string appPoolId, int listenerChannelId); internal delegate int WebhostUnregisterProtocol(int protocolHandle); [DllImport(KERNEL32, CharSet = CharSet.Ansi, SetLastError = true, BestFitMapping = false, ThrowOnUnmappableChar = true)] internal static extern IntPtr GetProcAddress( [In] SafeFreeLibrary hModule, [In] string lpProcName ); [DllImport(KERNEL32, CharSet = CharSet.Unicode, SetLastError = true)] internal static extern SafeFreeLibrary LoadLibraryEx( [In] string lpFileName, [In] IntPtr hFile, [In] int dwFlags ); [StructLayout(LayoutKind.Sequential)] internal struct WebhostListenerCallbacks { internal int dwBytesInCallbackStructure; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerConfigManagerConnected webhostListenerConfigManagerConnected; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerConfigManagerDisconnected webhostListenerConfigManagerDisconnected; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerConfigManagerInitializationCompleted webhostListenerConfigManagerInitializationCompleted; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolCreated webhostListenerApplicationPoolCreated; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolDeleted webhostListenerApplicationPoolDeleted; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolIdentityChanged webhostListenerApplicationPoolIdentityChanged; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolStateChanged webhostListenerApplicationPoolStateChanged; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolCanOpenNewListenerChannelInstance webhostListenerApplicationPoolCanOpenNewListenerChannelInstance; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationPoolAllListenerChannelInstancesStopped webhostListenerApplicationPoolAllListenerChannelInstancesStopped; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationCreated webhostListenerApplicationCreated; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationDeleted webhostListenerApplicationDeleted; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationBindingsChanged webhostListenerApplicationBindingsChanged; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationAppPoolChanged webhostListenerApplicationAppPoolChanged; [MarshalAs(UnmanagedType.FunctionPtr)] internal WebhostListenerApplicationRequestsBlockedChanged webhostListenerApplicationRequestsBlockedChanged; } internal sealed class SafeFreeLibrary : SafeHandleZeroOrMinusOneIsInvalid { const string KERNEL32 = "kernel32.dll"; internal SafeFreeLibrary() : base(true) { } [DllImport(KERNEL32, SetLastError = true), SuppressUnmanagedCodeSecurity] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool FreeLibrary(IntPtr hModule); protected override bool ReleaseHandle() { return FreeLibrary(handle); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NavigatingCancelEventArgs.cs
- InternalException.cs
- UpnEndpointIdentityExtension.cs
- BuildManager.cs
- GrabHandleGlyph.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- ConfigurationStrings.cs
- HandleCollector.cs
- ZipFileInfoCollection.cs
- RemoteWebConfigurationHost.cs
- MediaElementAutomationPeer.cs
- ContainerFilterService.cs
- XmlWriter.cs
- HyperLinkStyle.cs
- PropertyTab.cs
- ExpressionVisitor.cs
- HttpConfigurationContext.cs
- TriggerBase.cs
- NavigationWindowAutomationPeer.cs
- BamlBinaryWriter.cs
- ClientSideQueueItem.cs
- ParentUndoUnit.cs
- HttpListenerPrefixCollection.cs
- SqlServices.cs
- ProtocolsConfigurationHandler.cs
- UnauthorizedAccessException.cs
- ScaleTransform.cs
- DataGridViewComboBoxEditingControl.cs
- FacetChecker.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- JobPageOrder.cs
- CreateUserErrorEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- CodeGeneratorAttribute.cs
- PathFigureCollection.cs
- Deflater.cs
- MultiSelector.cs
- HttpCachePolicyWrapper.cs
- StylusPointProperty.cs
- StrokeCollection.cs
- Table.cs
- MemberAccessException.cs
- EmptyQuery.cs
- PeerTransportListenAddressValidator.cs
- ShaperBuffers.cs
- AuthenticationSection.cs
- AutoScrollHelper.cs
- TransactionTraceIdentifier.cs
- Block.cs
- EditorBrowsableAttribute.cs
- CfgRule.cs
- COM2Enum.cs
- ExtensionWindowHeader.cs
- DataSpaceManager.cs
- AggregateException.cs
- MsmqQueue.cs
- OletxVolatileEnlistment.cs
- AssemblyEvidenceFactory.cs
- TextEditorMouse.cs
- ClientCredentials.cs
- RepeatInfo.cs
- EventBuilder.cs
- ReaderWriterLockWrapper.cs
- StringFormat.cs
- CanonicalFontFamilyReference.cs
- SapiRecognizer.cs
- XmlSchemaRedefine.cs
- ByteConverter.cs
- SQLDateTime.cs
- PathFigure.cs
- LayoutEditorPart.cs
- SplineKeyFrames.cs
- FileLoadException.cs
- Control.cs
- ModifiableIteratorCollection.cs
- HtmlTableRow.cs
- ActivityExecutionContextCollection.cs
- SchemaElementLookUpTable.cs
- XmlNavigatorStack.cs
- IncomingWebResponseContext.cs
- XmlNodeList.cs
- mda.cs
- InputLangChangeEvent.cs
- AsyncDataRequest.cs
- TemplateBindingExpression.cs
- TriState.cs
- SelectionProviderWrapper.cs
- DateTimeFormat.cs
- ColorConvertedBitmap.cs
- DateTimeValueSerializerContext.cs
- HtmlControlPersistable.cs
- XmlReflectionMember.cs
- streamingZipPartStream.cs
- PerfCounters.cs
- PerfCounters.cs
- WindowsListViewItem.cs
- SQLInt16Storage.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- Condition.cs
- EmptyEnumerable.cs