FSCTL_REQUEST_FILTER_OPLOCK IOCTL (winioctl.h)

Meminta kunci oportunistik filter pada file.

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

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

Keterangan

Operasi ini hanya digunakan oleh aplikasi klien yang meminta kunci oportunistik dari server lokal. Aplikasi klien yang meminta kunci oportunistik dari server jarak jauh tidak boleh memintanya secara langsung—pengalih jaringan secara transparan meminta kunci oportunistik untuk aplikasi. Upaya untuk menggunakan operasi ini untuk meminta kunci oportunistik dari server jarak jauh akan mengakibatkan permintaan ditolak.

Jika jenis oplock baru diinginkan, handel harus ditutup dan handel baru dibuka kembali menggunakan CreateFile, dan DeviceIoControl harus dipanggil pada handel baru dengan FSCTL_REQUEST_OPLOCKyang diinginkan_XXX kode kontrol. Untuk meminta oplock pada handel yang dapat mengubah jenis oplock di tempat (handel tidak harus ditutup dan dibuka kembali), gunakan kode kontrol FSCTL_REQUEST_OPLOCK .

Gunakan FSCTL_REQUEST_FILTER_OPLOCK untuk meminta kunci oportunistik filter pada file. Sistem file klien dapat menyimpan data baca cache dan menangani data secara lokal selama kunci filter disimpan, tetapi hanya satu klien yang dapat menahan kunci pada satu waktu.

Pemilik oplock filter harus mengakui jeda oplock (lihat Melanggar kunci oportunistik) sebelum operasi apa pun yang tidak kompatibel dengan oplock filter dapat melalui handel lain. Setelah kunci rusak, pengalih jaringan diberi tahu untuk tidak menganggap sebagai data cache yang valid dari file.

Untuk informasi selengkapnya, lihat Jenis Kunci Oportunistik.

Untuk perbandingan berbagai kode kontrol oplock, lihat FSCTL_REQUEST_OPLOCK.

Kode kontrol FSCTL_REQUEST_FILTER_OPLOCK gagal jika file dibuka dalam mode tidak tumpang tindih (sinkron).

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

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 Berbagi File Peluasan Skala (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