將 ECP 附加至核心模式驅動程式產生的IRP_MJ_CREATE作業
您必須遵循下列步驟來設定 ECP,並將 ECP 附加至檔案上的 IRP_MJ_CREATE 作業:
呼叫 FltAllocateExtraCreateParameterList 或 FsRtlAllocateExtraCreateParameterList 來配置 ECP_LIST 結構的記憶體。 操作系統不會自動釋放 ECP_LIST 結構。 相反地,minifilter 驅動程式最終必須呼叫 FltFreeExtraCreateParameterList 或 FsRtlFreeExtraCreateParameterList ,以解除配置 給ECP_LIST的記憶體。
呼叫 FltAllocateExtraCreateParameter 或 FsRtlAllocateExtraCreateParameter 來配置 ECP 內容結構的分頁記憶體集區,併產生該結構的指標。
呼叫 FltInsertExtraCreateParameter 或 FsRtlInsertExtraCreateParameter ,將 ECP 內容結構插入 ECP_LIST 結構。
呼叫 IoInitializeDriverCreateContext 以初始化 IO_DRIVER_CREATE_CONTEXT 結構。
定義 IO_DRIVER_CREATE_CONTEXT 結構。 在此定義中,將 IO_DRIVER_CREATE_CONTEXT的 ExtraCreateParameter 成員指向ECP_LIST 結構。
呼叫 FltCreateFileEx2 或 IoCreateFileEx ,將 ECP 附加至檔案上的 IRP_MJ_CREATE 作業。 在此呼叫中,將指標傳遞至 driverContext 參數IO_DRIVER_CREATE_CONTEXT結構。
呼叫 FltFreeExtraCreateParameterList 或 FsRtlFreeExtraCreateParameterList 以釋放 ECP_LIST 結構。 這些函式也會自動釋放任何剩餘的ECP清單元素。