Bagikan melalui


FSCTL_OPBATCH_ACK_CLOSE_PENDING IOCTL (winioctl.h)

Memberi tahu server bahwa aplikasi klien siap menutup file. Gunakan operasi ini setelah pemberitahuan bahwa kunci oportunistik pada file siap untuk dipecah.

Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan menggunakan parameter berikut.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to file
  FSCTL_OPBATCH_ACK_CLOSE_PENDING,  // dwIoControlCode
  NULL,                             // lpInBuffer
  0,                                // nInBufferSize
  NULL,                             // lpOutBuffer
  0,                                // nOutBufferSize
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

Keterangan

Sebelum Anda memanggil fungsi ini, jangan membuat asumsi tentang jumlah saluran virtual yang tersedia, karena sistem dan plug-in lainnya mungkin telah memesan saluran virtual. Selalu periksa kode pengembalian CHANNEL_RC_TOO_MANY_CHANNELS setelah memanggil fungsi ini.

Untuk implikasi I/O yang tumpang tindih pada operasi ini, lihat bagian Keterangan dari topik DeviceIoControl .

Gunakan kode kontrol FSCTL_OPBATCH_ACK_CLOSE_PENDING ketika Anda diberi tahu bahwa kunci oportunistik pada file siap untuk dipecah, dan Anda ingin segera menutup file. Operasi ini tidak meminta kunci oportunistik baru.

Jika Anda tidak berniat menutup file, Anda dapat menggunakan kode kontrol FSCTL_OPLOCK_BREAK_ACKNOWLEDGE atau FSCTL_OPLOCK_BREAK_ACK_NO_2 untuk merespons pemberitahuan. Yang pertama, digunakan jika kunci yang rusak adalah kunci oportunistik eksklusif, menunjukkan file harus menerima kunci oportunistik tingkat 2 sebagai gantinya. Yang terakhir meminta file tetap terbuka tetapi kehilangan semua penguncian.

Aplikasi diberi tahu bahwa kunci oportunistik rusak dengan menggunakan anggota hEvent dari struktur TUMPANG TINDIH yang terkait dengan file tempat kunci oportunistik rusak. Aplikasi juga dapat menggunakan fungsi seperti GetOverlappedResult dan HasOverlappedIoCompleted.

Di Windows 8 dan Windows Server 2012, kode ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Tidak
SMB 3.0 Transparent Failover (TFO) Tidak
SMB 3.0 dengan Scale-out File Shares (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header winioctl.h (termasuk Windows.h)

Lihat juga