Partilhar via


Função NdisMRegisterMiniportDriver (ndis.h)

Um driver de miniporto chama a função NdisMRegisterMiniportDriver para registrar miniportXxx pontos de entrada com NDIS como a primeira etapa na inicialização.

Sintaxe

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

Parâmetros

[in] DriverObject

Um ponteiro para um objeto de driver opaco que o driver de miniporto recebeu em sua rotina de DriverEntry no parâmetro Argument1 (consulte DriverEntry of NDIS Miniport Drivers).

[in] RegistryPath

Um ponteiro para um caminho opaco do Registro que o driver de miniporto recebeu em sua rotina DriverEntry no parâmetro Argument2.

[in, optional] MiniportDriverContext

Um identificador para uma área de contexto alocada pelo driver em que o driver mantém informações de estado e configuração.

[in] MiniportDriverCharacteristics

Um ponteiro para um NDIS_MINIPORT_DRIVER_CHARACTERISTICS estrutura inicializada pelo chamador.

[out] NdisMiniportDriverHandle

Um ponteiro para uma variável de identificador fornecida pelo chamador. O NDIS grava um identificador nessa variável que identifica exclusivamente esse driver. O driver deve salvar esse identificador para uso nas chamadas de função Ndis Xxx subsequentes.

Valor de retorno

NdisMRegisterMiniportDriver retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver registrou o driver de miniporto com êxito.

NDIS_STATUS_BAD_CHARACTERISTICS
O parâmetro CharacteristicsLength está incorreto para a versão do NDIS especificada no membro MajorNdisVersion na estrutura em MiniportDriverCharacteristics .
NDIS_STATUS_BAD_VERSION
O MajorNdisVersion ou MinorNdisVersion especificado na estrutura de características é inválido.
NDIS_STATUS_RESOURCES
Uma escassez de recursos, possivelmente memória, impediu que o NDIS registrasse o chamador.
NDIS_STATUS_FAILURE
Esse é um status de erro padrão, retornado quando nenhum dos erros anteriores causou falha no registro.

Observações

Um driver NDIS chama NdisMRegisterMiniportDriver de sua rotina de DriverEntry. Para obter mais informações, consulte DriverEntry of NDIS Miniport Drivers.

Cada driver de miniporto exporta um conjunto de funções MiniportXxx padrão configurando a estrutura de características e chamando NdisMRegisterMiniportDriver. O NDIS copia a estrutura de características para o armazenamento interno do NDIS. Portanto, depois de registrado, um driver não pode alterar seus pontos de entrada MiniportXxx.

Para registrar sua interface de miniporto virtual, um drivers intermediários do NDIS deve chamar NdisMRegisterMiniportDriver com o sinalizador NDIS_INTERMEDIATE_DRIVER definido na estrutura em MiniportDriverCharacteristics . Os drivers NDIS que têm uma borda inferior do WDM devem chamar NdisMRegisterMiniportDriver com o sinalizador NDIS_WDM_DRIVER definido na estrutura em MiniportDriverCharacteristics .

Os drivers podem se registrar como um driver de miniporto combinado e um driver intermediário. Para registrar seu driver de miniporto físico, um driver intermediário de miniporto chama NdisMRegisterMiniportDriver com parâmetros apropriados exatamente como para qualquer driver de miniporto. Para registrar sua interface de miniporto virtual, o driver chama NdisMRegisterMiniportDriver novamente, mas com o sinalizador NDIS_INTERMEDIATE_DRIVER definido no parâmetro miniportDriverCharacteristics.

Para permitir que os drivers de miniporto registrem serviços opcionais, o NDIS chama a função MiniportSetOptions no contexto de NdisMRegisterMiniportDriver.

Depois que um driver chama NdisMRegisterMiniportDriver, o driver deve estar preparado para ser chamado novamente na função MiniportInitializeEx especificada no parâmetro MiniportDriverCharacteristics a qualquer momento após o retorno do DriverEntry.

Se ocorrer um erro no driverEntry após NdisMRegisterMiniportDriver retornar com êxito, o driver deverá chamar o função NdisMDeregisterMiniportDriver antes de DriverEntry retornar. Se DriverEntry for bem-sucedido, o driver deverá chamar NdisMDeregisterMiniportDriver de sua função MiniportDriverUnload.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
da Plataforma de Destino Universal
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
regras de conformidade de DDI Irql_Miniport_Driver_Function(ndis)

Consulte também

inicializando um de driver de miniporto

DriverEntry

miniportDriverUnload

MiniportInitializeEx

miniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver