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
- SctClaimSerializer.cs
- QualifiedId.cs
- StreamUpdate.cs
- CollectionDataContract.cs
- ScriptingSectionGroup.cs
- AccessibleObject.cs
- FloatAverageAggregationOperator.cs
- Formatter.cs
- ScriptControlManager.cs
- HttpConfigurationSystem.cs
- ReachFixedPageSerializer.cs
- AutomationPatternInfo.cs
- EventOpcode.cs
- DataObjectMethodAttribute.cs
- SQLSingleStorage.cs
- PrePrepareMethodAttribute.cs
- TextServicesCompartment.cs
- NavigationCommands.cs
- ManagedFilter.cs
- ControlCachePolicy.cs
- BuildDependencySet.cs
- BaseTemplateCodeDomTreeGenerator.cs
- OutputCacheSettingsSection.cs
- SoapExtension.cs
- EdmMember.cs
- GreenMethods.cs
- PersonalizationStateInfoCollection.cs
- XamlDebuggerXmlReader.cs
- HttpWebRequest.cs
- ListenerElementsCollection.cs
- DrawTreeNodeEventArgs.cs
- FixedElement.cs
- IUnknownConstantAttribute.cs
- CompModHelpers.cs
- StateManagedCollection.cs
- WebResourceUtil.cs
- ControlCachePolicy.cs
- UICuesEvent.cs
- EntityContainerEmitter.cs
- SoapClientMessage.cs
- UserControl.cs
- DictionaryContent.cs
- QueryBranchOp.cs
- FlowDocumentFormatter.cs
- FloaterBaseParaClient.cs
- TransformerInfo.cs
- OleDbEnumerator.cs
- ZeroOpNode.cs
- ChangeBlockUndoRecord.cs
- ServiceXNameTypeConverter.cs
- ObjectItemLoadingSessionData.cs
- AccessText.cs
- TextAutomationPeer.cs
- InputReportEventArgs.cs
- Rights.cs
- DictionaryGlobals.cs
- DefaultAuthorizationContext.cs
- TimeSpanStorage.cs
- Group.cs
- XmlILStorageConverter.cs
- BamlRecordReader.cs
- ExpressionLink.cs
- WebUtil.cs
- MD5CryptoServiceProvider.cs
- RuntimeArgumentHandle.cs
- AsyncCompletedEventArgs.cs
- DesignerView.xaml.cs
- SupportingTokenSpecification.cs
- PopupControlService.cs
- SvcMapFileLoader.cs
- CategoryNameCollection.cs
- GACMembershipCondition.cs
- BaseAddressElement.cs
- TypeLoadException.cs
- EUCJPEncoding.cs
- SQLDateTimeStorage.cs
- FtpRequestCacheValidator.cs
- Table.cs
- IntegerFacetDescriptionElement.cs
- ToolStripComboBox.cs
- EntityClientCacheKey.cs
- ModelVisual3D.cs
- UnicastIPAddressInformationCollection.cs
- EmptyEnumerable.cs
- EventData.cs
- ComponentChangingEvent.cs
- Margins.cs
- SqlParameter.cs
- TransactionContextValidator.cs
- ConnectionManagementElementCollection.cs
- PhysicalFontFamily.cs
- SafeHandles.cs
- LinkedList.cs
- HttpInputStream.cs
- TrackingServices.cs
- DataGridViewLayoutData.cs
- WebHttpSecurityModeHelper.cs
- ByteStorage.cs
- COM2AboutBoxPropertyDescriptor.cs
- ViewgenGatekeeper.cs