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.
FSCTL_OFFLOAD_WRITE denetim kodu, boşaltma yazma temel öğelerini destekleyen bir depolama sistemindeki veri bloğu için yük boşaltma yazma işlemi başlatır.
Bu işlemi gerçekleştirmek için, mini filtre sürücüleri aşağıdaki parametrelerle FltFsControlFile'ı çağırır ve dosya sistemleri, yeniden yönlendiriciler ve eski dosya sistemi filtre sürücüleri aşağıdaki parametrelerle ZwFsControlFile'ı çağırır.
Parametreler
Örnek [in]: Yalnızca FltFsControlFile . Çağıran için opak örnek işaretçisi. Bu parametre gereklidir ve NULL olamaz.
FileObject [in]: Yalnızca FltFsControlFile . Yazılacak dosyayı belirten dosya işaretçi nesnesi. Bu parametre gereklidir ve NULL olamaz.
FileHandle [in]: Yalnızca ZwFsControlFile . Yazacak dosyanın dosya tanıtıcısı. Bu parametre gereklidir ve NULL olamaz.
FsControlCode [in]: İşlemin denetim kodu. Bu işlem için FSCTL_OFFLOAD_WRITE kullanın.
InputBuffer [in]: Okunacak veri bloğunun boyutunu ve uzaklığını içeren bir FSCTL_OFFLOAD_WRITE_INPUT yapısının işaretçisi.
InputBufferLength [in]: InputBuffer tarafından işaret edilen arabelleğin bayt cinsinden boyutu. Bu değer sizeof(FSCTL_OFFLOAD_WRITE_INPUT) değeridir.
OutputBuffer [out]: Okunacak veri bloğunun boyutunu ve uzaklığını içeren bir FSCTL_OFFLOAD_WRITE_INPUT yapısının işaretçisi.
OutputBufferLength [out]: OutputBuffer parametresi tarafından işaret edilen arabelleğin bayt cinsinden boyutu. Bu değer en az sizeof(FSCTL_OFFLOAD_READ_OUTPUT) olmalıdır.
Durum bloğu
FltFsControlFile veya ZwFsControlFile , işlem başarılı olursa STATUS_SUCCESS döndürür. Aksi takdirde, uygun işlev aşağıdaki NTSTATUS değerlerinden birini döndürebilir.
| Kod | Meaning |
|---|---|
| STATUS_INVALID_DEVICE_REQUEST | Belirtilen tanıtıcı geçerli bir dosya tanıtıcısı değil. |
| STATUS_INVALID_PARAMETER | Parametre geçersiz. Bkz. Açıklamalar. |
| STATUS_NOT_SUPPORTED | Bu birimde yük boşaltma okuma işlemleri desteklenmez. |
| STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED | İstenen dosya türü desteklenmiyor. Boşaltma işlemleri şu dosya türlerinde desteklenmez: İşlem yapılan bir dosya (TxF); Kullanıcı olmayan dosyalar; Sıkıştırılmış dosyalar; Şifrelenmiş dosyalar; Seyrek dosyalar; NTFS Meta Veri dosyaları. |
| STATUS_TOO_LATE | Bir birime, çıkarıldıktan sonra bir yazma işlemi denendi. |
| STATUS_FILE_DELETED | Bu dosyanın veri akışı geçersiz. |
| STATUS_FILE_CLOSED | Dosya tanıtıcısı kapatılır. |
| STATUS_INVALID_HANDLE | Belirtilen dosya tanıtıcısı geçersiz. |
| STATUS_FILE_LOCK_CONFLICT | Geçerli dosya kilitleme durumundan dolayı okuma veya yazma erişimi verilemiyor. |
| STATUS_END_OF_FILE | FSCTL_OFFLOAD_WRITE_INPUTFileOffset üyesi dosya sonu (EOF) sonrasında başlar. |
| STATUS_DISMOUNTED_VOLUME | Çıkarılmış bir birimde yük boşaltma yazma işlemi gerçekleşemez. |
| STATUS_MEDIA_WRITE_PROTECTED | Birim salt okunur. |
| STATUS_INSUFFICIENT_RESOURCES | İsteği tamamlamak için yeterli kaynak yok. |
| STATUS_BUFFER_TOO_SMALL | InputBufferLength, InputBuffer'ınFSCTL_OFFLOAD_WRITE_INPUT bir yapı içeremeyecek kadar küçük veya OutputBufferLength,OutputBuffer'ın FSCTL_OFFLOAD_WRITE_OUTPUT bir yapı alamayacağı kadar küçük. |
Açıklamalar
Boşaltma okuması yalnızca normal dosyalar için kullanılabilir. Desteklenmeyen dosya türlerinin listesi için STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED açıklamasına bakın.
STATUS_INVALID_PARAMETER döndürülürken hata aşağıdaki geçersiz parametrelerden biri olabilir:
- Dosya boyutu PAGE_SIZE'den küçük.
-
InputBufferLength<
sizeof(FSCTL_OFFLOAD_READ_OUTPUT). - Bu FSCTL_OFFLOAD_WRITE_INPUT üyelerinden biri veya daha fazlası yanlış: FileOffset , birimin mantıksal kesim boyutunun bir katı değildir. CopyLength , birimin mantıksal kesim boyutunun bir katı değildir. TransferOffset , birimin mantıksal kesim boyutunun bir katı değildir. Boyut ,FSCTL_OFFLOAD_WRITE_INPUT yapısının boyutu değildir. FileOffset> Dosya için geçerli Veri Uzunluğu (VDL). FileOffset + CopyLength>MAXULONGLONG.
Gereksinimler
| Gereksinim türü | Gereksinim |
|---|---|
| Desteklenen en düşük düzeydeki istemci | Windows 8 |
| Header | Ntifs.h ( Ntifs.h veya Fltkernel.h içerir) |