Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / xws_reg / System / ServiceModel / Install / ServiceManagerHandle.cs / 1 / ServiceManagerHandle.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Install { using Microsoft.Win32.SafeHandles; using System; using System.ComponentModel; using System.Diagnostics; using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Security.AccessControl; using System.Text; internal class ServiceManagerHandle : SafeHandleZeroOrMinusOneIsInvalid { internal ServiceManagerHandle() : base(true) { } internal ServiceHandle CreateService(string serviceName, string displayName, int serviceType, int startType, int errorControl, string binaryPathName, string dependencies, string serviceStartName) { const int desiredAccess = NativeMethods.SERVICE_CHANGE_CONFIG | // setting the description NativeMethods.SERVICE_START | // setting the failure actions NativeMethods.WRITE_DAC | // setting the DACL NativeMethods.ACCESS_SYSTEM_SECURITY; // setting the SACL #pragma warning suppress 56523 // [....]; Win32Exception default constructor calls Marshal.GetLastWin32Error() internally. ServiceHandle retVal = NativeMethods.CreateService(this, serviceName, displayName, desiredAccess, serviceType, startType, errorControl, binaryPathName, null, IntPtr.Zero, dependencies, serviceStartName, null); if ((retVal == null) || retVal.IsInvalid) { throw new Win32Exception(); } return retVal; } internal ServiceHandle OpenService(string serviceName, int desiredAccess) { #pragma warning suppress 56523 // [....]; Win32Exception default constructor calls Marshal.GetLastWin32Error() internally. ServiceHandle retVal = NativeMethods.OpenService(this, serviceName, desiredAccess); if ((null == retVal) || retVal.IsInvalid) { throw new Win32Exception(); } return retVal; } internal static ServiceManagerHandle OpenServiceManager() { #pragma warning suppress 56523 // [....]; Win32Exception default constructor calls Marshal.GetLastWin32Error() internally. ServiceManagerHandle retVal = NativeMethods.OpenSCManager(null, null, NativeMethods.SC_MANAGER_ALL_ACCESS); if ((null == retVal) || retVal.IsInvalid) { throw new Win32Exception(); } return retVal; } protected override bool ReleaseHandle() { #pragma warning suppress 56523 // [....]; Win32Exception default constructor calls Marshal.GetLastWin32Error() internally. bool retVal = NativeMethods.CloseServiceHandle(handle); if (!retVal) { throw new Win32Exception(); } return retVal; } } } // 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
- InputMethodStateTypeInfo.cs
- TreeViewCancelEvent.cs
- SqlDependencyListener.cs
- NetSectionGroup.cs
- PageAction.cs
- GridViewDeletedEventArgs.cs
- XNodeValidator.cs
- Normalization.cs
- x509utils.cs
- ContainerActivationHelper.cs
- DbConnectionPoolGroupProviderInfo.cs
- COM2ICategorizePropertiesHandler.cs
- HashRepartitionEnumerator.cs
- ContainerParaClient.cs
- GridViewHeaderRowPresenter.cs
- XsdDuration.cs
- _BasicClient.cs
- StringToken.cs
- Expression.cs
- log.cs
- MultiPageTextView.cs
- Window.cs
- SqlCacheDependencyDatabase.cs
- HttpHandlerAction.cs
- FontInfo.cs
- OleDbCommandBuilder.cs
- SqlParameterizer.cs
- TableCellsCollectionEditor.cs
- ContentDisposition.cs
- AnnouncementDispatcherAsyncResult.cs
- VariantWrapper.cs
- PartDesigner.cs
- NameValueConfigurationElement.cs
- TableStyle.cs
- WebPartUserCapability.cs
- ValidatingPropertiesEventArgs.cs
- RoleGroup.cs
- COAUTHINFO.cs
- FragmentQuery.cs
- CultureSpecificStringDictionary.cs
- XmlMemberMapping.cs
- NativeMethods.cs
- KnownBoxes.cs
- WebConfigurationHostFileChange.cs
- InertiaTranslationBehavior.cs
- Keywords.cs
- WebServiceHandler.cs
- SecurityCriticalDataForSet.cs
- XmlNode.cs
- ManipulationStartingEventArgs.cs
- DataGridViewToolTip.cs
- StringUtil.cs
- OdbcUtils.cs
- SQLBinary.cs
- GridViewRowCollection.cs
- wmiprovider.cs
- Viewport2DVisual3D.cs
- DelayedRegex.cs
- DataGridPagerStyle.cs
- Boolean.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- XmlMapping.cs
- WebServiceErrorEvent.cs
- StoreAnnotationsMap.cs
- ReflectionHelper.cs
- BaseParagraph.cs
- DrawingAttributesDefaultValueFactory.cs
- IPEndPoint.cs
- XmlBufferedByteStreamReader.cs
- ListView.cs
- WmpBitmapEncoder.cs
- Utils.cs
- SafeNativeMethodsMilCoreApi.cs
- HtmlImage.cs
- ModulesEntry.cs
- EntityDataSourceContextCreatedEventArgs.cs
- FormView.cs
- SecUtil.cs
- ReadOnlyNameValueCollection.cs
- EdgeModeValidation.cs
- DeclarativeCatalogPartDesigner.cs
- XmlSchemaObject.cs
- SoapIncludeAttribute.cs
- IPPacketInformation.cs
- ObjectManager.cs
- FtpCachePolicyElement.cs
- SQLDateTimeStorage.cs
- TreeView.cs
- AutoScrollHelper.cs
- MaskedTextBox.cs
- ClassHandlersStore.cs
- XmlMtomWriter.cs
- TokenFactoryFactory.cs
- X509CertificateClaimSet.cs
- FileDetails.cs
- CurrencyManager.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- HMACSHA1.cs
- CompilerWrapper.cs
- PenLineCapValidation.cs