Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
User-Mode Driver Framework (UMDF) Versi 1.11 dan 2.0
Jika driver User-Mode Driver Framework (UMDF) Anda dibangun dengan versi 1.11 atau 2.0 dan berjalan pada Windows 8 atau yang lebih baru, kerangka kerja membuat satu instans Wudfhost yang dapat menghosting beberapa tumpukan perangkat. Teknik ini disebut pengumpulan perangkat. Manfaat utama pengumpulan perangkat adalah berkurangnya konsumsi memori di lingkungan dengan beberapa perangkat UMDF.
Jika perangkat yang dikumpulkan gagal, kerangka kerja mengakhiri instans Wudfhost dan mencoba menghidupkan ulang semua perangkat yang sebelumnya ada di kumpulan. Jika perangkat gagal lagi saat dikumpulkan, kerangka kerja membuat proses Wudfhost terpisah untuk perangkat dan mencoba memulai perangkat lagi.
Jika perangkat gagal dalam proses host terpisah, kerangka kerja mencoba memulai ulang hingga lima kali. Kerangka kerja mengatur ulang jumlah kesalahan perangkat menjadi satu ketika tiga puluh menit telah berlalu sejak kegagalan terakhir.
Jika sistem di-restart, kerangka mengelompokkan kembali perangkat, kecuali perangkat yang gagal selama berjalan dalam proses terpisah.
Untuk menonaktifkan pengelompokan perangkat untuk perangkat tertentu, gunakan direktif UmdfHostProcessSharing di bagian DDInstall khusus WDF dari INF. Untuk informasi tentang UmdfHostProcessSharing, lihat Menentukan Arahan WDF dalam File INF.
Jika driver Anda menggunakan I/O langsung, Anda harus mengatur UmdfHostProcessSharing ke ProcessSharingDisabled. Jika tidak, driver Anda mungkin tidak dapat memulai. Jika WdfDeviceIoBufferedOrDirect dipilih dan perangkat masuk dalam pool, kerangka kerja mengubah metode akses buffer menjadi I/O yang dibuffer. Jika WdfDeviceIoBufferedOrDirect dipilih dan perangkat tidak dikumpulkan, kerangka kerja mengubah metode akses buffer untuk mengarahkan I/O.
Untuk memilih metode akses buffer, driver Anda harus memanggil metode IWDFDeviceInitialize2::SetIoTypePreference dari fungsi callback-nya IDriverEntry::OnDeviceAdd. Untuk informasi tentang metode akses, lihat Mengakses Buffer Data di Driver UMDF-Based.
UMDF Versi 1.9 dan yang lebih lama
Jika driver Anda dibangun dengan UMDF versi 1.9 atau yang lebih lama, kerangka kerja membuat instans terpisah dari proses host (Wudfhost) untuk setiap tumpukan perangkat.
Jika perangkat gagal dimulai, kerangka kerja mencoba memulai ulang hingga lima kali. Kerangka kerja mengatur ulang jumlah kesalahan perangkat menjadi satu ketika tiga puluh menit telah berlalu sejak kegagalan terakhir.
Di lingkungan yang tidak terkumpul, jika beberapa tumpukan perangkat berbagi driver UMDF yang sama:
- Setiap tumpukan perangkat dimuat dalam proses WudfHost terpisah.
- Kerangka kerja memanggil metode IDriverEntry::OnInitialize dan IDriverEntry::OnDeinitialize driver sekali untuk setiap rangkaian perangkat.
- Kerangka kerja memanggil metode IDriverEntry::OnDeviceAdd driver sekali untuk setiap tumpukan perangkat. Setiap objek perangkat dikaitkan dengan objek driver terpisah.
Di lingkungan terkumpul, jika beberapa tumpukan perangkat berbagi driver mode pengguna yang sama:
- Setiap tumpukan perangkat dimuat dalam proses WudfHost yang sama.
- Kerangka kerja memanggil metode IDriverEntry::OnInitialize dan IDriverEntry::OnDeinitialize driver hanya sekali.
- Kerangka memanggil metode IDriverEntry::OnDeviceAdd driver sekali untuk setiap rangkaian perangkat. Setiap objek perangkat dikaitkan dengan objek driver yang sama.
Karena hanya ada satu objek driver dalam konfigurasi terkumpul, driver tidak boleh menyimpan konteks per perangkat apa pun dalam variabel global atau dalam objek yang dibagikan di seluruh perangkat, seperti objek panggilan balik driver. Sebagai gantinya, driver harus menyimpan konteks per perangkat dalam objek yang tidak dibagi antara tumpukan perangkat, seperti objek panggilan balik perangkat driver.