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
- AppDomainUnloadedException.cs
- CrossContextChannel.cs
- Light.cs
- DbSourceCommand.cs
- TypeContext.cs
- Model3DCollection.cs
- HtmlInputHidden.cs
- SecurityPolicyVersion.cs
- SequenceRange.cs
- ErrorWrapper.cs
- UnsafeNativeMethods.cs
- MsmqBindingMonitor.cs
- EncodingDataItem.cs
- AddInEnvironment.cs
- X509CertificateValidator.cs
- Connection.cs
- CompilerResults.cs
- StructureChangedEventArgs.cs
- CodeAttachEventStatement.cs
- FixedDocument.cs
- ACL.cs
- HatchBrush.cs
- StylusCaptureWithinProperty.cs
- Int32Storage.cs
- Scene3D.cs
- Trace.cs
- EventLogPropertySelector.cs
- ObjectDataSourceView.cs
- ParameterReplacerVisitor.cs
- WindowManager.cs
- TextElement.cs
- RecordManager.cs
- DesignerProperties.cs
- FocusChangedEventArgs.cs
- Vector3DAnimationUsingKeyFrames.cs
- CheckoutException.cs
- DatagridviewDisplayedBandsData.cs
- InkCanvasFeedbackAdorner.cs
- EtwTrace.cs
- GeneralTransform3DGroup.cs
- XslNumber.cs
- ZipIOLocalFileBlock.cs
- UInt16.cs
- PropertyFilterAttribute.cs
- TypeValidationEventArgs.cs
- Geometry3D.cs
- BindingExpressionUncommonField.cs
- BackgroundFormatInfo.cs
- ApplicationServicesHostFactory.cs
- CancellationTokenSource.cs
- FileReservationCollection.cs
- FlowDocumentPaginator.cs
- CompilationRelaxations.cs
- MaterialGroup.cs
- _SslSessionsCache.cs
- QuadraticBezierSegment.cs
- DataObjectSettingDataEventArgs.cs
- SizeAnimationBase.cs
- ValidationUtility.cs
- IsolatedStorageFileStream.cs
- AtomMaterializerLog.cs
- DoubleLink.cs
- CharacterBuffer.cs
- BulletedListDesigner.cs
- ApplicationHost.cs
- PermissionSetTriple.cs
- InputBindingCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- SqlRowUpdatedEvent.cs
- GZipStream.cs
- DiscoveryDefaults.cs
- CodeIndexerExpression.cs
- Image.cs
- MobileTemplatedControlDesigner.cs
- EntitySqlQueryBuilder.cs
- PartialTrustVisibleAssemblyCollection.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- HandlerBase.cs
- recordstatefactory.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- CompoundFileStreamReference.cs
- TraversalRequest.cs
- CompositionAdorner.cs
- ValidatingReaderNodeData.cs
- DragCompletedEventArgs.cs
- EditorBrowsableAttribute.cs
- VsPropertyGrid.cs
- FileAccessException.cs
- AssemblyBuilderData.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- CompositeActivityValidator.cs
- CapabilitiesRule.cs
- PipeStream.cs
- WebPartRestoreVerb.cs
- SystemParameters.cs
- XmlQuerySequence.cs
- ProcessModuleCollection.cs
- DefaultHttpHandler.cs
- Misc.cs
- sqlinternaltransaction.cs