Bagikan melalui


enumerasi WDF_SYNCHRONIZATION_SCOPE (wdfobject.h)

[Berlaku untuk KMDF dan UMDF]

Jenis enumerasi WDF_SYNCHRONIZATION_SCOPE menentukan bagaimana kerangka kerja akan menyinkronkan eksekusi fungsi panggilan balik peristiwa objek.

Sintaks

typedef enum _WDF_SYNCHRONIZATION_SCOPE {
  WdfSynchronizationScopeInvalid = 0x00,
  WdfSynchronizationScopeInheritFromParent,
  WdfSynchronizationScopeDevice,
  WdfSynchronizationScopeQueue,
  WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;

Konstanta

 
WdfSynchronizationScopeInvalid
Nilai: 0x00
Dicadangkan untuk penggunaan sistem.
WdfSynchronizationScopeInheritFromParent
Kerangka kerja menggunakan nilai cakupan sinkronisasi yang ditentukan untuk objek induk objek. Nilai ini adalah default jika driver tidak menentukan nilai yang WDF_SYNCHRONIZATION_SCOPE ketik.
WdfSynchronizationScopeDevice
Kerangka kerja menyinkronkan eksekusi fungsi panggilan balik peristiwa dari semua antrean dan objek file yang berada di bawah objek perangkat dalam hierarki objek driver.

Selain itu, jika driver mengatur anggota AutomaticSerialization ke TRUE dalam struktur konfigurasi untuk objek interupsi, DPC, item kerja, atau timer yang berada di bawah objek perangkat yang sama, kerangka kerja juga menyinkronkan fungsi panggilan balik objek tersebut.

Kerangka kerja memperoleh kunci sinkronisasi objek perangkat sebelum memanggil fungsi panggilan balik. Oleh karena itu, fungsi panggilan balik ini berjalan satu per satu. Namun, jika driver membuat beberapa objek dengan jenis yang sama, tetapi di bawah objek perangkat yang berbeda, fungsi panggilan balik peristiwa mereka mungkin berjalan bersamaan pada sistem multiprosem.
WdfSynchronizationScopeQueue
Nilai ini hanya memengaruhi objek antrean. Kerangka kerja menyinkronkan fungsi panggilan balik peristiwa dari objek antrean sehingga hanya satu yang dijalankan pada satu waktu.

Selain itu, jika driver mengatur AutomaticSerialization ke TRUE dalam struktur konfigurasi untuk objek interupsi, DPC, item kerja, atau timer yang berada di bawah objek antrean atau objek perangkat induknya, kerangka kerja juga menyinkronkan fungsi panggilan balik objek tersebut.

Kerangka kerja memperoleh kunci sinkronisasi objek antrean sebelum memanggil fungsi panggilan balik apa pun yang termasuk dalam objek .

Jika driver membuat beberapa objek antrean, fungsi panggilan balik peristiwa mereka mungkin berjalan bersamaan pada sistem multiprosem.

Untuk kerangka kerja versi 1.9 dan yang lebih baru, driver harus mengatur WdfSynchronizationScopeQueue untuk objek antrean individual. Untuk menggunakan cakupan ini dengan versi kerangka kerja yang lebih lama, driver harus mengatur WdfSynchronizationScopeQueue untuk objek perangkat induk dan WdfSynchronizationScopeInheritFromParent untuk objek antrean.
WdfSynchronizationScopeNone
Kerangka kerja tidak menyinkronkan fungsi panggilan balik peristiwa objek, sehingga fungsi panggilan balik mungkin berjalan bersamaan pada sistem multiproscessor.

Keterangan

Driver menggunakan jenis enumerasi WDF_SYNCHRONIZATION_SCOPE untuk menentukan anggota SynchronizationScope dari struktur WDF_OBJECT_ATTRIBUTES objek.

Anda bisa menentukan nilai SynchronizationScope hanya untuk objek berikut:

  • Objek driver kerangka kerja
  • Objek perangkat kerangka kerja
  • Objek antrean kerangka kerja
Kerangka kerja menetapkan nilai SynchronizationScope objek driver kerangka kerja ke WdfSynchronizationScopeNone. Ini menetapkan nilai SynchronizationScope objek perangkat kerangka kerja dan objek antrean kerangka kerja ke WdfSynchronizationScopeInheritFromParent.

Untuk informasi selengkapnya tentang sinkronisasi fungsi panggilan balik peristiwa driver, lihat Teknik Sinkronisasi untuk Driver Framework-Based.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfobject.h (termasuk Wdf.h)

Lihat juga

WDF_OBJECT_ATTRIBUTES