Função NdisRegisterProtocolDriver (ndis.h)

Um driver de protocolo chama a função NdisRegisterProtocolDriver para registrar suas funções ProtocolXxx com NDIS.

Sintaxe

NDIS_STATUS NdisRegisterProtocolDriver(
  [in, optional] NDIS_HANDLE                           ProtocolDriverContext,
  [in]           PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
  [out]          PNDIS_HANDLE                          NdisProtocolHandle
);

Parâmetros

[in, optional] ProtocolDriverContext

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

[in] ProtocolCharacteristics

Um ponteiro para um NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estrutura que o driver de protocolo criou e inicializou com seus pontos de entrada de função ProtocolXxx .

[out] NdisProtocolHandle

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

Retornar valor

NdisRegisterProtocolDriver retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS

NdisRegisterProtocolDriver retornará NDIS_STATUS_SUCCESS se tiver registrado o driver de protocolo.

NDIS_STATUS_BAD_VERSION
A versão especificada no membro MajorNdisVersion da estrutura em ProtocolCharacteristics é inválida.
NDIS_STATUS_BAD_CHARACTERISTICS
Alguns membros da estrutura no parâmetro ProtocolCharacteristics são inválidos.
NDIS_STATUS_RESOURCES

NdisRegisterProtocolDriver falhou devido a recursos insuficientes.

NDIS_STATUS_FAILURE

NdisRegisterProtocolDriver retornará NDIS_STATUS_FAILURE se nenhum dos valores anteriores se aplicar.

Comentários

Um driver de protocolo chama a função NdisRegisterProtocolDriver de sua rotina DriverEntry . Para obter mais informações sobre DriverEntry, consulte DriverEntry of NDIS Protocol Drivers.

Os drivers que chamam NdisRegisterProtocolDriver devem estar preparados para uma chamada imediata para qualquer uma de suas funções ProtocolXxx .

Cada driver de protocolo exporta um conjunto de funções ProtocolXxx configurando o NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estrutura e chamando NdisRegisterProtocolDriver. O NDIS copia essa estrutura para o armazenamento interno da biblioteca NDIS.

Para permitir que os drivers de protocolo registrem serviços opcionais, o NDIS chama a função ProtocolSetOptions dentro do contexto de NdisRegisterProtocolDriver.

Os drivers de protocolo chamam o Função NdisDeregisterProtocolDriver para liberar recursos que foram alocados anteriormente com NdisRegisterProtocolDriver.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI Irql_Protocol_Driver_Function(ndis)

Confira também

DriverEntry de drivers de protocolo NDIS

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS

NdisDeregisterProtocolDriver

NdisSetOptionalHandlers