Bagikan melalui


Melampirkan ECP ke operasi IRP_MJ_CREATE yang berasal dari driver mode kernel

Anda harus mengikuti langkah-langkah ini untuk menyiapkan ECP dan melampirkan ECP ke operasi IRP_MJ_CREATE pada file:

  1. Panggil FltAllocateExtraCreateParameterList atau FsRtlAllocateExtraCreateParameterList untuk mengalokasikan memori untuk struktur ECP_LIST . Sistem operasi tidak secara otomatis membebaskan struktur ECP_LIST . Sebagai gantinya, driver minifilter akhirnya harus memanggil FltFreeExtraCreateParameterList atau FsRtlFreeExtraCreateParameterList untuk membatalkan alokasi memori yang dialokasikan untuk ECP_LIST.

  2. Panggil FltAllocateExtraCreateParameter atau FsRtlAllocateExtraCreateParameter untuk mengalokasikan kumpulan memori halaman untuk struktur konteks ECP dan menghasilkan pointer ke struktur tersebut.

  3. Panggil FltInsertExtraCreateParameter atau FsRtlInsertExtraCreateParameter untuk menyisipkan struktur konteks ECP ke dalam struktur ECP_LIST .

  4. Panggil IoInitializeDriverCreateContext untuk menginisialisasi struktur IO_DRIVER_CREATE_CONTEXT .

  5. Tentukan struktur IO_DRIVER_CREATE_CONTEXT . Dalam definisi ini, arahkan anggota ExtraCreateParameterdari IO_DRIVER_CREATE_CONTEXT ke struktur ECP_LIST .

  6. Panggil FltCreateFileEx2 atau IoCreateFileEx untuk melampirkan ECP ke operasi IRP_MJ_CREATE pada file. Dalam panggilan ini, teruskan penunjuk ke struktur IO_DRIVER_CREATE_CONTEXT ke parameter DriverContext .

  7. Panggil FltFreeExtraCreateParameterList atau FsRtlFreeExtraCreateParameterList untuk membebaskan struktur ECP_LIST . Fungsi-fungsi ini juga akan secara otomatis membebaskan elemen daftar ECP yang tersisa.