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.
Sistem operasi Windows memuat driver filter sistem file berdasarkan:
- Jenis mulai driver, di mana setiap jenis mulai mewakili fase booting sistem.
- Grup urutan beban untuk driver filter sistem file yang dimuat saat startup sistem. Driver minifilter membutuhkan konsep grup urutan beban untuk interoperabilitas dengan driver filter sistem file warisan. Driver ninifilter dapat dimuat kapan saja.
Penting untuk memahami jenis mulai driver dan grup urutan beban sebelum menjelajahi kapan dan bagaimana driver filter sistem file dimuat selama urutan boot sistem.
Jenis mulai driver
Jenis mulai driver mode kernel menentukan apakah driver akan dimuat selama atau setelah startup sistem. Ada lima kemungkinan jenis mulai:
Jenis Mulai | Deskripsi |
---|---|
SERVICE_BOOT_START (0x00000000) | Menunjukkan driver yang dimulai oleh loader sistem operasi (OS). Pengandar filter sistem file biasanya menggunakan tipe mulai atau SERVICE_DEMAND_START ini. Filter sistem file warisan harus menggunakan tipe mulai ini. Untuk informasi selengkapnya, lihat grup urutan beban filter sistem file. |
SERVICE_SYSTEM_START (0x00000001) | Menunjukkan driver dimulai selama inisialisasi OS. Jenis mulai ini digunakan oleh pengenal sistem file. Kecuali untuk sistem file yang tercantum dalam sistem file "SERVICE_DISABLED," (termasuk komponen sistem file jaringan) umumnya menggunakan jenis mulai ini atau SERVICE_DEMAND_START. Jenis mulai ini juga digunakan oleh driver perangkat untuk perangkat PnP yang dijumlahkan selama inisialisasi sistem tetapi tidak diperlukan untuk memuat sistem. |
SERVICE_AUTO_START (0x00000002) | Menunjukkan driver yang dimulai oleh Service Control Manager selama startup sistem. Jarang digunakan. |
SERVICE_DEMAND_START (0x00000003) | Menunjukkan driver dimulai sesuai permintaan, baik oleh Manajer PnP (untuk driver perangkat) atau oleh Service Control Manager (untuk sistem file dan driver filter sistem file). |
SERVICE_DISABLED (0x00000004) | Menunjukkan driver yang tidak dimulai oleh pemuat OS, Manajer Kontrol Layanan, atau Manajer PnP. Digunakan oleh sistem file yang dimuat oleh pengenal sistem file (kecuali ketika mereka adalah sistem file boot) atau oleh sistem file lain untuk EFS. Sistem file tersebut termasuk CDFS, EFS, FastFat, NTFS, dan UDFS. Juga digunakan untuk menonaktifkan driver untuk sementara waktu selama penelusuran kesalahan. |
Semua driver yang menentukan jenis awal SERVICE_BOOT_START dimuat sebelum driver dengan jenis awal SERVICE_SYSTEM_START atau SERVICE_AUTO_START. Dalam setiap kategori jenis mulai, grup urutan beban menentukan kapan driver filter sistem file (dan driver filter warisan) akan dimuat.
Menentukan jenis mulai
Penulis driver dapat menentukan jenis mulai untuk driver pada waktu penginstalan dengan salah satu cara berikut:
Dengan menentukan jenis mulai yang diinginkan untuk entri StartType di bagian penginstalan layanan yang dirujuk oleh arahan AddService dalam file INF driver. Metode ini dijelaskan di Bagian ServiceInstall dari Membuat file INF untuk driver filter.
Dengan meneruskan jenis mulai yang diinginkan untuk parameter dwStartType saat memanggil CreateService atau ChangeServiceConfig dari program penginstalan mode pengguna. Metode ini dijelaskan dalam entri referensi untuk CreateService dan ChangeServiceConfig dalam dokumentasi Microsoft Windows SDK.
Grup pesanan beban driver
Dalam jenis mulai SERVICE_BOOT_START dan SERVICE_SYSTEM_START, setiap grup urutan beban driver menentukan urutan relatif di mana driver.
Driver yang jenis awalnya SERVICE_BOOT_START disebut driver boot (atau boot-start). Filter yang merupakan driver boot umumnya milik salah satu grup urutan beban FSFilter. Grup urutan beban ini dijelaskan secara rinci dalam Grup Urutan Beban untuk Driver Filter Sistem File.
Driver yang jenis awalnya SERVICE_SYSTEM_START juga dimuat dalam urutan grup urutan beban tempat mereka berada. Namun, tidak ada driver mulai sistem yang dimuat sampai setelah semua driver boot dimuat.
Grup urutan beban diabaikan untuk driver yang jenis mulainya SERVICE_AUTO_START, SERVICE_DEMAND_START, atau SERVICE_DISABLED.
Daftar lengkap grup urutan beban dapat ditemukan di bawah subkunci ServiceGroupOrder dari kunci registri HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control .
Urutan grup beban yang sama digunakan untuk driver SERVICE_BOOT_START dan SERVICE_SYSTEM_START. Namun, semua driver SERVICE_BOOT_START dimuat dan dimulai sebelum driver SERVICE_SYSTEM_START dimuat.
Menentukan grup urutan beban
Penulis driver dapat menentukan grup urutan beban untuk driver pada waktu penginstalan dengan salah satu cara berikut:
Dengan menentukan grup urutan beban yang diinginkan untuk entri LoadOrderGroup di bagian penginstalan layanan yang dirujuk oleh arahan AddService dalam file INF driver. Metode ini dijelaskan di Bagian ServiceInstall dari Membuat file INF untuk driver filter.
Dengan meneruskan jenis mulai yang diinginkan untuk parameter lpLoadOrderGroup saat memanggil CreateService atau ChangeServiceConfig dari program penginstalan mode pengguna. Metode ini dijelaskan dalam entri referensi untuk CreateService dan ChangeServiceConfig dalam dokumentasi Microsoft Windows SDK.
Untuk informasi umum selengkapnya tentang urutan beban driver dan grup pesanan beban, lihat Menentukan Urutan Beban Driver.
Aturan untuk memuat driver filter
Aturan berikut tentang jenis mulai dan grup urutan beban menentukan kapan driver filter akan dimuat:
Driver filter yang menentukan jenis mulai dan grup urutan beban tertentu dimuat pada saat yang sama dengan semua driver filter lainnya dalam jenis mulai dan grup urutan beban.
Dalam setiap grup urutan beban, driver filter minifilter dan warisan umumnya dimuat dalam urutan acak. Kasus ini biasanya menghasilkan driver yang dimuat berdasarkan urutan pengandar diinstal.
Jika driver filter minifilter atau warisan tidak menentukan grup urutan beban, itu dimuat setelah semua driver lain dari jenis mulai yang sama yang menentukan grup urutan beban.