Share via


初始化檔案系統篩選驅動程式

注意

為了獲得最佳可靠性和效能,請使用 檔案系統迷你篩選驅動程式 搭配篩選管理員支援,而不是舊版檔案系統篩選驅動程式。 若要將舊版驅動程式移植到迷你篩選驅動程式,請參閱 移植舊版篩選驅動程式的指導方針

初始化舊版檔案系統篩選驅動程式的 DriverEntry 常式類似于 DriverEntry 常式,用於初始化設備磁碟機。 載入驅動程式之後,載入驅動程式的相同元件也會藉由呼叫驅動程式的 DriverEntry 常式來初始化驅動程式。 針對檔案系統篩選驅動程式,載入驅動程式的元件是啟動類型為SERVICE_BOOT_START) 的篩選 I/O 管理員 (,或是服務控制管理員 (其他啟動類型) 。

DriverEntry常式會在 IRQL = PASSIVE_LEVEL的系統執行緒內容中執行。 此常式可以是可分頁的,而且應該位於 INIT 區段中,以便將其捨棄。 如需如何讓您的驅動程式代碼可分頁的詳細資訊,請參閱 MmLockPagableCodeSection的一節。

DriverEntry常式的定義如下:

NTSTATUS 
(*PDRIVER_INITIALIZE) ( 
    IN PDRIVER_OBJECT DriverObject, 
    IN PUNICODE_STRING RegistryPath 
    ); 

這個常式有兩個輸入參數。 第一個 DriverObject是載入檔案系統篩選驅動程式時所建立的驅動程式物件。 第二個 RegistryPath是計數 Unicode 字串的指標,其中包含驅動程式登錄機碼的路徑。

檔案系統篩選驅動程式的 DriverEntry 常式會執行下列步驟:

建立控制裝置物件

註冊 IRP 分派常式

註冊快速 I/O 分派常式

註冊 FsFilter 回呼常式

執行任何其他必要的初始化

[選擇性]註冊回呼常式

[選擇性]儲存登錄路徑字串的複本

傳回狀態