2010-04-05 27 views
6
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.

Trả lời

5

Tìm câu trả lời trên một trang web khác. Đường dẫn thư mục cần phải là đường dẫn cục bộ đến máy chia sẻ được tạo trên, không phải là đường dẫn UNC như tôi đang sử dụng.

5

Tôi đã gặp lỗi tương tự. Trong trường hợp của tôi, mặc dù vấn đề là dấu gạch chéo ngược. Làm directoryPath.TrimEnd ('\') giải quyết được vấn đề.

+0

Cám ơn chia sẻ – MichaelS

+0

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. –

5

Giá trị trả lại

Trả về một trong các giá trị trong bảng sau hoặc bất kỳ giá trị nào khác để biểu thị lỗi. 0 - Success

2 - Truy cập bị từ chối

8 - Unknown thất bại

9 - Tên không hợp lệ

10 - mức không hợp lệ

21 - Thông số không hợp lệ

22 - Chia sẻ trùng lặp

23 - con đường đổi hướng

24 - thiết bị Unknown hoặc thư mục

25 - tên Net không tìm thấy

+0

Nguồn của danh sách này ở đâu? – reasra

+0

không thể nhớ bây giờ đã lâu rồi nhưng đây là một liên kết https://msdn.microsoft.com/en-us/library/aa393598(v=vs.85).aspx – Moji

Các vấn đề liên quan