Disk birleştirme kullanarak bir birimin nasıl monte edildiğini simüle edin


0

Birimin eklediğim NTFS birimim için normal olarak nasıl monte edildiğini taklit etmeye çalışıyorum /private/etc/fstab. Normalde, harici bir sabit sürücü gibi bir birim bulunduğunda, monte edilir ve ardından bu birimin kısayolu Masaüstüne ve Finder'ın sol kenar çubuğuna yerleştirilir. Ancak, bir NTFS birimini okuma-yazma olarak monte etmek için fstab, bayrak nobrowseeklenmeli, bu masaüstünde ve Finder'ın kenar çubuğunda görünmesini engeller.

Araştırmam, beni diskarbitrationdyeni ciltleri dinleyen ve bunları birleştiren bir program olarak gösterdi . Masaüstüne ve Bulucu’ya otomatik kısayollar ekleyerek öykünme işleminin kaldırılmasının kaldırılması ve benim için bilgi dinleyen diskarbitationdve işlem yapan bir komut dosyası yapmak istiyorum.

diskarbitrationdYeni olayları nasıl bağlayıp dinlerim, ardından birim monte edildikten sonra masaüstüne ve Finder'a kısayolları ekler miyim?

Yardımınız için teşekkürler!

Yanıtlar:


1

Apple'ın Disk Tahkim çerçevesini kullanarak diskarbitrationd içine kanca. Temel olarak, bir DASessionRef oluşturmak için DASessionCreate () öğesini arayın ve ardından bir veya daha fazla bildirim geri çağrısı kaydedin.

DARegisterDiskMountApprovalCallback için kaydolmanız gerekir. Bu ne zaman diskarbitrationd yeni bir şey monte ederse size bir bildirim verir. Bu geri çağırma işleminden bir DADissenterRef döndürerek, disk tahribatının dosya sistemini gerçekte monte etmesini önleyebilirsiniz.

Ardından, dosya sistemini kendiniz bağlayabilir ve mount () sistemi çağrısı gibi standart yöntemleri kullanarak kısayollar vb. Oluşturabilirsiniz.

İşte programlama kılavuzundaki sayfaya doğrudan bir bağlantı, incelemeniz gerekenler:

https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Conceptual/DiskArbitrationProgGuide/ArbitrationBasics/ArbitrationBasics.html#//apple_ref/doc/uid/TP40009310-CH2-SW1


Bana bu bağlantıları gönderdiğiniz için teşekkür ederiz! Son birkaç saattir üzerinde çalışıyorum ve Disk Tahkimine bağlanan küçük bir uygulamaya sahibim. Tek sorunum, normal bir harici sürücü eklediğimde, masaüstünde bir takma ad olarak değil (sembolik bağlantı) göründüğünü fark ettim. Bu aynı işlevi Disk Tahkiminde veya Objective C'de gerçekleştirmenin bir yolu var mı?
josh

Eğer masaüstünde bir simge almanın en kolay yolu :-) kabul olarak, benim cevap işaretleyin bağlantıları kullanarak çalışma var ise, ~ / Masaüstü / oluşturulan yeni dizine üzerine monte etmek basitçe
jksoegaard

Bir takma ad kullanmadan demek istiyorum, çünkü masaüstüne monte edilmiş bir birim ile aynı değildir. Bir flash sürücü taktığınızda olduğu gibi, masaüstünde takma ad olmadan otomatik olarak görünür ... Bir takma ad kullanarak bunu yapabileceğimi biliyorum, ancak başka türlü yapmak mümkün mü?
josh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.