Condividi tramite


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:

  1. 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.

  2. 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.

  3. Chiamare FltInsertExtraCreateParameter o FsRtlInsertExtraCreateParameter per inserire strutture di contesto ECP nella struttura ECP_LIST .

  4. Chiamare IoInitializeDriverCreateContext per inizializzare una struttura IO_DRIVER_CREATE_CONTEXT .

  5. Definire la struttura IO_DRIVER_CREATE_CONTEXT . In questa definizione puntare il membro ExtraCreateParameter di IO_DRIVER_CREATE_CONTEXT alla struttura ECP_LIST .

  6. 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 .

  7. Chiama FltFreeExtraCreateParameterList o FsRtlFreeExtraCreateParameterList per liberare la struttura ECP_LIST . Queste funzioni libereranno automaticamente anche tutti gli elementi dell'elenco ECP rimanenti.