denetim kodunu FSCTL_OFFLOAD_WRITE

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)

Ayrıca bakınız

FltFsControlFile

ZwFsControlFile

FSCTL_OFFLOAD_WRITE_INPUT

FSCTL_OFFLOAD_WRITE_OUTPUT