Bagikan melalui


struktur REQUEST_OPLOCK_OUTPUT_BUFFER (winioctl.h)

Berisi informasi kunci oportunistik (oplock) yang dikembalikan oleh kode kontrol FSCTL_REQUEST_OPLOCK .

Sintaks

typedef struct _REQUEST_OPLOCK_OUTPUT_BUFFER {
  WORD        StructureVersion;
  WORD        StructureLength;
  DWORD       OriginalOplockLevel;
  DWORD       NewOplockLevel;
  DWORD       Flags;
  ACCESS_MASK AccessMode;
  WORD        ShareMode;
} REQUEST_OPLOCK_OUTPUT_BUFFER, *PREQUEST_OPLOCK_OUTPUT_BUFFER;

Anggota

StructureVersion

Versi struktur REQUEST_OPLOCK_OUTPUT_BUFFER yang sedang digunakan.

StructureLength

Panjang struktur ini, dalam byte.

OriginalOplockLevel

Satu atau beberapa nilai OPLOCK_LEVEL_CACHE_XXX yang menunjukkan tingkat oplock yang rusak.

Untuk nilai yang mungkin, lihat anggota RequestedOplockLevel dari struktur REQUEST_OPLOCK_INPUT_BUFFER .

NewOplockLevel

Satu atau beberapa nilai OPLOCK_LEVEL_CACHE_XXX yang menunjukkan tingkat di mana oplock rusak, atau tingkat oplock yang mungkin tersedia untuk diberikan, tergantung pada operasi yang mengembalikan buffer ini.

Untuk nilai yang mungkin, lihat anggota RequestedOplockLevel dari struktur REQUEST_OPLOCK_INPUT_BUFFER .

Flags

Satu atau beberapa nilai REQUEST_OPLOCK_OUTPUT_FLAG_XXX .

Nilai Makna
REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED
Menunjukkan bahwa pengakuan diperlukan, dan oplock yang dijelaskan dalam OriginalOplockLevel akan terus berlaku sampai jeda berhasil diakui.
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED
Menunjukkan bahwa anggota ShareMode dan AccessMode berisi bendera berbagi dan akses, masing-masing, dari permintaan yang menyebabkan jeda oplock. Untuk informasi lebih lanjut, lihat bagian Keterangan.

AccessMode

Jika bendera REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED diatur dan tingkat OPLOCK_LEVEL_CACHE_HANDLE hilang dalam jeda oplock, berisi mode akses permintaan yang menyebabkan jeda.

ShareMode

Jika bendera REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED diatur dan tingkat OPLOCK_LEVEL_CACHE_HANDLE hilang dalam jeda oplock, berisi mode berbagi permintaan yang menyebabkan jeda.

Keterangan

Bendera REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED menunjukkan bahwa bidang ShareMode dan AccessMode masing-masing berisi bendera berbagi dan akses, dari permintaan yang menyebabkan jeda oplock. Informasi ini dapat diberikan pada jeda di mana tingkat OPLOCK_LEVEL_CACHE_HANDLE hilang dan mungkin berguna bagi pemanggil yang dapat menutup handel yang mode berbagi dan aksesnya bertentangan dengan handel yang menyebabkan jeda. Ini dapat memungkinkan mereka untuk mempertahankan setidaknya beberapa menangani status cache. Perhatikan bahwa tidak semua jeda di mana tingkat OPLOCK_LEVEL_CACHE_HANDLE hilang akan mengatur bendera ini. Kasus utama di mana bendera ini akan diatur adalah jika jeda adalah hasil dari operasi pembuatan yang membutuhkan oplock OPLOCK_LEVEL_CACHE_HANDLE untuk dipecah untuk menghindari gagal dengan ERROR_SHARING_VIOLATION.

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Header winioctl.h (termasuk Windows.h)

Lihat juga

FSCTL_REQUEST_OPLOCK

Semantik Oplock

REQUEST_OPLOCK_INPUT_BUFFER