public void DeleteShare(IShareDescriptor descriptor) { var wqlQuery = new ObjectQuery(string.Format(@"SELECT * from Win32_Share WHERE Name = '{0}'", descriptor.Name)); ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher(_managementClass.Scope, wqlQuery); ManagementObjectCollection shareObjectsCollection = objectSearcher.Get(); if (shareObjectsCollection.Count == 0) { throw new ShareInstrumentationException(@"{0} {1}.", ExceptionMessages.Win32_ShareNotFound, descriptor.Name); } foreach (ManagementObject shareObject in shareObjectsCollection) { PropertyDataCollection outParams; long returnValue; var inParamsCollection = new List<PropertyDataObject>(); inParamsCollection.Add(new PropertyDataObject() { Name = "Reason", Value = (uint)0 }); _handler.Handle("Terminate", inParamsCollection, out outParams); returnValue = long.Parse(outParams["ReturnValue"].Value.ToString()); if (returnValue != 0) { throw new ShareInstrumentationException(@"{0} {1}.", ExceptionMessages.Win32_ShareFail, _errorMessageProvider.GetErrorMessage(ErrorMessageProvider.ErrorClass.Win32_Share, returnValue)); } } }
public void CreateShare(IShareDescriptor descriptor) { PropertyDataCollection outParams; long returnValue; var inParamsCollection = new List<PropertyDataObject>(); inParamsCollection.Add(new PropertyDataObject() { Name = "Path", Value = descriptor.Path }); inParamsCollection.Add(new PropertyDataObject() { Name = "Name", Value = descriptor.Name }); inParamsCollection.Add(new PropertyDataObject() { Name = "Type", Value = 0 }); inParamsCollection.Add(new PropertyDataObject() { Name = "MaximumAllowed", Value = descriptor.MaximumAllowedConnections }); inParamsCollection.Add(new PropertyDataObject() { Name = "Description", Value = descriptor.Description }); inParamsCollection.Add(new PropertyDataObject() { Name = "Password", Value = descriptor.Password }); inParamsCollection.Add(new PropertyDataObject() { Name = "Access", Value = descriptor.SecurityDescriptor }); _handler.Handle("CreateShare", inParamsCollection, out outParams); returnValue = long.Parse(outParams["ReturnValue"].Value.ToString()); if (returnValue != 0) { throw new ShareInstrumentationException(@"{0} {1}.", ExceptionMessages.Win32_ShareFail, _errorMessageProvider.GetErrorMessage(ErrorMessageProvider.ErrorClass.Win32_Share, returnValue)); } }
public void CreateSharedResource(IShareDescriptor shareDescriptor) { throw new NotImplementedException(); }