Tôi đang cố gắng ngắt kết nối ổ đĩa trong ứng dụng Cocoa bằng cách sử dụng Khung Trọng tài Đĩa.Giải thích giá trị trả về (dissenter) khi cố gắng ngắt kết nối âm lượng trong OS X
Trước khi gọi:
DADiskUnmount(disk,
kDADiskUnmountOptionDefault,
unmountCallback,
self);
tôi đăng ký một hàm callback mà có được gọi là sau đó:
void unmountCallback(DADiskRef disk, DADissenterRef dissenter, void *context)
{
if (dissenter != NULL)
{
DAReturn ret = DADissenterGetStatus(dissenter);
switch (ret) {
case kDAReturnBusy:
printf("kDAReturnBusy\n");
break;
}
}
Trong chức năng này, tôi cố gắng giải thích các giá trị trả về không đồng ý nhưng gặp khó khăn. Tôi cho rằng nó phải thuộc loại DAReturn và có giá trị như kDAReturnBusy Nhưng khi ví dụ: iTunes đang sử dụng khối lượng và nó không thể được unmounted "ret" có giá trị 0xc010 mà tôi không hoàn toàn hiểu.
Trong trường hợp ngắt kết nối không thành công, tôi muốn tìm hiểu lý do tại sao không thể tháo lắp âm lượng và trong trường hợp ứng dụng khác đang sử dụng, hãy nhắc người dùng đóng ứng dụng này.
(Bạn muốn cung cấp cho bạn thêm điểm cho hướng đi chu đáo mà mọi người hệ thống mới sẽ thấy tại một số điểm.) –
@quixoto vui lòng cung cấp tiền thưởng cho câu hỏi và trao giải thưởng cho Peter :) –
Cảm ơn rất, rất nhiều Peter cho câu trả lời toàn diện của bạn. Đây chính xác là thông tin tôi đang tìm kiếm !! – JLinX