Inicializando uma miniporta virtual

Para iniciar a inicialização de uma miniporta virtual, um driver intermediário chama a função NdisIMInitializeDeviceInstanceEx. O driver intermediário geralmente faz essa chamada de sua função ProtocolBindAdapterEx. Depois que o driver intermediário chama NdisIMInitializeDeviceInstanceEx e o gerenciador Plug and Play solicita NDIS para iniciar o dispositivo virtual, o NDIS chama a função MiniportInitializeEx do driver.

A chamada para MiniportInitializeEx pode estar no contexto de NdisIMInitializeDeviceInstanceEx se o gerenciador Plug and Play iniciar o dispositivo virtual antes de NdisIMInitializeDeviceInstanceEx retornar. Se o driver intermediário fornecer mais de uma miniporta virtual, o driver deverá chamar NdisIMInitializeDeviceInstanceEx para cada miniporta virtual disponibilizada.

O NDIS passa parâmetros de inicialização para MiniportInitializeEx em uma estrutura NDIS_MINIPORT_INIT_PARAMETERS em MiniportInitParameters . O membro IMDeviceInstanceContext da estrutura especifica um ponteiro para a área de contexto de um dispositivo virtual. O driver passou esse ponteiro para a função NdisIMInitializeDeviceInstanceEx no parâmetro DeviceContext.

No MiniportInitializeEx, o driver intermediário executa as operações necessárias para inicializar uma miniporta virtual. Essa inicialização é semelhante à inicialização de qualquer outro adaptador de miniporta.