ObjectGetOptions options = new ObjectGetOptions();
ManagementPath p = new ManagementPath("\\\\server01\\root" + "\\cimv2:Win32_Share");
// Make a connection to a remote computer.
ManagementScope scope = new ManagementScope("\\\\server01\\root\\cimv2");
scope.Connect();
// Create a ManagementClass object
ManagementClass managementClass = new ManagementClass(scope, p, options);
// Create ManagementBaseObjects for in and out parameters
ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");
ManagementBaseObject outParams;
// Set the input parameters
//inParams["Description"] = String.Empty;
inParams["Name"] = "test";
inParams["Path"] = @folderPath;
inParams["Type"] = 0x0; // Disk Drive
// Invoke the method on the ManagementClass object
outParams = managementClass.InvokeMethod("Create", inParams, null);
// Check to see if the method invocation was successful
if ((uint)(outParams.Properties["ReturnValue"].Value) != 0)
{
throw new Exception("Unable to share directory. Error code: " + outParams.Properties["ReturnValue"].Value);
}
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString());
}
}
Tôi đang sử dụng mã sau đây để thiết lập chia sẻ, nhưng tôi luôn nhận được giá trị trả lại là 9 có nghĩa là tên không hợp lệ. Tôi đang chuyển một chuỗi và đã cố gắng sử dụng một chuỗi rõ ràng và tôi vẫn gặp lỗi 9.Tạo chia sẻ theo chương trình không thành công với lỗi 9
Tôi đang tạo chia sẻ từ xa thay vì trên máy cục bộ. Tôi đã cố gắng để đảm bảo rằng tôi đang kết nối với nhà cung cấp WMI từ xa, nhưng tôi không chắc chắn liệu tôi có thành công hay không.
Bất kỳ đề xuất nào từ Guru và WMI đều được đánh giá cao.
Cám ơn chia sẻ – MichaelS
Trừ khi con đường là cho thư mục gốc của một ổ đĩa, ví dụ C: \. Sau đó, dấu gạch chéo ngược là bắt buộc. –