Collegamento di ECP alle operazioni di IRP_MJ_CREATE originato da un driver in modalità kernel
È necessario seguire questa procedura per configurare gli ECP e allegare gli ECP a un'operazione di IRP_MJ_CREATE in un file:
Chiamare FltAllocateExtraCreateParameterList o FsRtlAllocateExtraCreateParameterList per allocare memoria per una struttura ECP_LIST . Il sistema operativo non libera automaticamente le strutture ECP_LIST . Al contrario, il driver minifilter deve chiamare fltFreeExtraCreateParameterList o FsRtlFreeExtraCreateParameterList per deallocare la memoria allocata per il ECP_LIST.
Chiamare FltAllocateExtraCreateParameter o FsRtlAllocateExtraCreateParameter per allocare un pool di memoria di paging per una struttura di contesto ECP e generare un puntatore a tale struttura.
Chiamare FltInsertExtraCreateParameter o FsRtlInsertExtraCreateParameter per inserire strutture di contesto ECP nella struttura ECP_LIST .
Chiamare IoInitializeDriverCreateContext per inizializzare una struttura IO_DRIVER_CREATE_CONTEXT .
Definire la struttura IO_DRIVER_CREATE_CONTEXT . In questa definizione puntare il membro ExtraCreateParameter di IO_DRIVER_CREATE_CONTEXT alla struttura ECP_LIST .
Chiamare FltCreateFileEx2 o IoCreateFileEx per collegare gli ECP all'operazione di IRP_MJ_CREATE sul file. In questa chiamata passare un puntatore alla struttura IO_DRIVER_CREATE_CONTEXT al parametro DriverContext .
Chiama FltFreeExtraCreateParameterList o FsRtlFreeExtraCreateParameterList per liberare la struttura ECP_LIST . Queste funzioni libereranno automaticamente anche tutti gli elementi dell'elenco ECP rimanenti.