Inicializando um driver de Miniport-Intermediate
Um driver miniport-intermediário combina um driver de miniporto para um dispositivo virtual, um driver de protocolo e um driver de miniporto para um dispositivo físico. Um driver miniport-intermediário funciona de forma semelhante a um driver intermediário em camadas sobre um driver de miniporto. Esse driver permite que um driver intermediário se comunique diretamente com um driver de miniporto subjacente sem incorrer nas penalidades de desempenho que podem resultar em dois drivers separados.
Para registrar seu driver de miniporto físico, um driver intermediário de miniporto chama a função NdisMRegisterMiniportDriver com parâmetros apropriados, assim como para qualquer driver de miniporto. Para registrar seu miniporto virtual, o driver chama NdisMRegisterMiniportDriver novamente, mas com o sinalizador NDIS_INTERMEDIATE_DRIVER definido na estrutura em MiniportDriverCharacteristics .
Para cada instância de dispositivo virtual ou físico de um driver miniport-intermediário, se a chave do Registro IMMiniport estiver definida como DWORD:0x0000001, o NDIS chamará a função MiniportInitializeEx que o driver registrou para o dispositivo virtual. Caso contrário, o NDIS chamará a função MiniportInitializeEx do driver que o driver registrou para o dispositivo físico.