Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir bantta giriş veya çıkış işlemi yapmak için, yedekleme uygulamasının önce bant cihazının tanıtıcısını alması gerekir. Aşağıdaki kod örneği, bir bant cihazı açmak için CreateFile işlevinin nasıl kullanılacağını gösterir.
HANDLE hTape; // handle to tape device
hTape = CreateFile(TEXT("\\\\.\\TAPE0"), // tape dev to open
GENERIC_READ | GENERIC_WRITE, // read/write access
0, // not used
0, // not used
OPEN_EXISTING, // req for tape devs
0, // not used
NULL); // not used
Dizin ağacını banda yedeklemek için, uygulamanın dizin ağacından geçiş yapmak için FindFirstFileve FindNextFileişlevlerinigerekir. Bir dosya her bulunduğunda, uygulamanın GetFileAttributesişlevini kullanarak dosya özniteliklerinialması gerekir.
Sabit bağlantılar varsa, uygulamanın bağlantı sayısını belirlemesi ve gelecekteki karşılaştırmalar için dosyanın benzersiz tanımlayıcısını bir tabloya kaydetmesi gerekir. Bir dosya ilk kez bulunduğunda, uygulama dosyayı açmak için CreateFile ve yedeklemeyi başlatmak için BackupRead işlevlerini kullanmalıdır. Ardından BackupRead tarafından kullanılan arabellekteki tüm bilgileri banda aktarmak için WriteFile işlevini tekrar tekrar kullanabilir. Bir dosya ikinci kez bulunduğunda (sabit bağlantılar olduğunda dosya tanımlayıcıları tablosuna karşı denetlendiğinde), uygulama banda genel dosya bilgilerini yazabilir ve ardından BACKUP_LINKtanımlayıcısı olan bir akış yazabilir.
Dosyaları banttan diske geri yüklerken, bir uygulamanın CreateFile, BackupWriteve ReadFile işlevlerini kullanması gerekir. Bir bant üzerindeki her dosya için uygulama, diskte yeni bir dosya oluşturmak için CreateFile kullanmalı ve dosyayı geri yüklemeye başlamak için BackupWrite . Ardından, dosyaya ilişkin tüm bilgiler BackupWritetarafından doldurulan arabelleğe okunana kadar, uygulama ReadFile işlevini tekrar tekrar kullanmalıdır.
BackupWrite arabelleğindeki akışlardan birinin BACKUP_LINK akış tanımlayıcısı varsa, uygulamanın bir sabit bağlantı oluşturması gerekir. Bağlantıyı oluşturmak için gereken veriler yoksa BackupWrite başarısız olur. Uygulama, özgün verileri bulup geri yüklemek için önceden var olan bir kataloğu kullanabilir veya geri yüklenecek dosya verilerinin farklı bir konumda olduğunu kullanıcıya bildirebilir.