Bagikan melalui


Urutan beban filter sistem file

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. Konsep grup pesanan beban diperlukan oleh driver filter sistem file untuk interoperabilitas dengan driver filter sistem file warisan. Perhatikan bahwa driver filter "minifilter" dapat dimuat kapan saja.

Sebelum menjelajahi kapan dan bagaimana driver filter sistem file dimuat selama urutan boot sistem, perlu untuk memahami jenis mulai driver dan grup urutan beban.

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). Driver filter sistem file biasanya menggunakan tipe mulai atau SERVICE_DEMAND_START ini. Filter sistem file warisan harus menggunakan jenis mulai ini; lihat grup urutan pemuatan filter sistem file untuk informasi selengkapnya.
SERVICE_SYSTEM_START (0x00000001) Menunjukkan driver dimulai selama inisialisasi OS. Jenis mulai ini digunakan oleh pengenal sistem file. Kecuali untuk sistem file yang tercantum di bawah "SERVICE_DISABLED", sistem file (termasuk komponen sistem file jaringan) biasanya menggunakan jenis mulai atau SERVICE_DEMAND_START ini. 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 Manajer Kontrol Layanan (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 (dalam kasus EFS) oleh sistem file lain. 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 akan 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, urutan relatif di mana driver dimuat ditentukan oleh setiap grup urutan beban driver.

Driver yang jenis awalnya SERVICE_BOOT_START disebut driver boot (atau boot-start). Pada Microsoft Windows 2000 dan sistem yang lebih lama, sebagian besar filter yang merupakan driver boot termasuk dalam grup "filter". Pada Sistem Microsoft Windows XP dan yang lebih baru, filter yang merupakan driver boot umumnya milik salah satu grup pesanan 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 system-start yang dimuat sampai setelah semua driver boot dimuat.

Catatan

Grup urutan beban diabaikan untuk driver yang jenis mulainya SERVICE_AUTO_START, SERVICE_DEMAND_START, atau SERVICE_DISABLED.

Daftar lengkap dan diurutkan dari grup urutan beban dapat ditemukan di bawah subkunci ServiceGroupOrder dari kunci registri HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control .

Pemesanan 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 tertentu dan grup urutan beban dimuat pada saat yang sama dengan driver filter sistem file lainnya dan driver filter warisan dalam jenis mulai dan grup urutan beban.
  • Dalam setiap grup urutan beban, driver filter sistem file dan driver warisan umumnya dimuat dalam urutan acak. Ini biasanya menghasilkan driver yang dimuat berdasarkan urutan pengandar diinstal.
  • Jika driver filter sistem file atau driver filter warisan tidak menentukan grup urutan beban, itu dimuat setelah semua driver lain dari jenis mulai yang sama yang menentukan grup urutan beban.