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_READ denetim kodu, boşaltma okuma temel öğelerini destekleyen bir depolama sistemindeki veri bloğu için bir boşaltma okuma işlemi başlatır.
Bu işlemi gerçekleştirmek için, aşağıdaki parametrelerle FltFsControlFile veya ZwFsControlFile'ı çağırın.
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 . Okunacak dosyayı belirten dosya işaretçi nesnesi. Bu parametre gereklidir ve NULL olamaz.
FileHandle [in]: Yalnızca ZwFsControlFile . Okunacak 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_READ kullanın.
InputBuffer [in]: Okunacak veri bloğunun boyutunu ve uzaklığını içeren bir FSCTL_OFFLOAD_READ_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_READ_INPUT) değeridir.
OutputBuffer [out]: Boşaltma okuma işleminin sonuçlarını alan bir FSCTL_OFFLOAD_READ_OUTPUT 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_VOLUME_DISMOUNTED | Dosya sistemi birimi çıkarılır. |
| STATUS_NOT_SUPPORTED | Bu birimde yük boşaltma okuma işlemleri desteklenmez. |
| STATUS_OFFLOAD_READ_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_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 erişimi yetersiz. |
| STATUS_END_OF_FILE | FSCTL_OFFLOAD_READ_INPUT'nin FileOffset üyesi, dosya sonu (EOF) sonrasında başlar. |
| STATUS_DISMOUNTED_VOLUME | Çıkarılmış bir birimde yük boşaltma okuması gerçekleşemez. |
| STATUS_INSUFFICIENT_RESOURCES | İsteği tamamlamak için yeterli kaynak yok. |
| STATUS_BUFFER_TOO_SMALL | OutputBufferLength , OutputBuffer'ınFSCTL_OFFLOAD_READ_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_READ_FILE_NOT_SUPPORTED açıklamasına bakın.
Okumaların Geçerli Veri Uzunluğu'nu (VDL) aşarak başlaması mümkündür, ancak EOF'nin ötesinde olamaz.
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_INPUT). -
Bu FSCTL_OFFLOAD_READ_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.
- Boyut , FSCTL_OFFLOAD_READ_INPUT yapısının boyutu değildir.
- 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) |