Função NdisSetOptionalHandlers (ndis.h)

Os drivers NDIS podem chamar a função NdisSetOptionalHandlers para definir ou alterar os pontos de entrada das funções de driver.

Sintaxe

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Parâmetros

NdisHandle

Um identificador NDIS que identifica uma instância de driver ou driver.

Para um driver de protocolo, esse é o valor NdisDriverHandle passado para a função ProtocolSetOptions ou o valor NdisBindingHandle obtido chamando a função NdisOpenAdapterEx .

Para um driver de miniporto, esse é o valor NdisDriverHandle passado para a função MiniportSetOptions

Para um driver de filtro, esse é o valor NdisDriverHandle passado para a função FilterSetOptions ou o valor NdisFilterHandle passado para a função FilterAttach .

OptionalHandlers

Um ponteiro para uma das seguintes estruturas NDIS:

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

Retornar valor

NdisSetOptionalHandlers retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers retornará NDIS_STATUS_SUCCESS se definir os pontos de entrada do driver.

NDIS_STATUS_RESOURCES

O NdisSetOptionalHandlers falhou devido a recursos insuficientes.

NDIS_STATUS_NOT_SUPPORTED

NdisSetOptionalHandlers falhou porque o driver de miniport não especificou que ele dá suporte ao NDIS 6.0 ou posterior. Um driver de miniporto especifica sua versão do NDIS quando ele chama o Função NdisMRegisterMiniportDriver .

NDIS_STATUS_FAILURE

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

Comentários

Um driver NDIS pode chamar NdisSetOptionalHandlers para substituir seus pontos de entrada padrão. Os tipos de estrutura passados em OptionalHandlers variam de acordo com o tipo de driver.

Os drivers de protocolo podem chamar NdisSetOptionalHandlers no contexto da função ProtocolSetOptions . Como opção, os drivers de protocolo podem chamar NdisSetOptionalHandlers da função ProtocolBindAdapterEx ou do Função ProtocolOpenAdapterCompleteEx depois que o driver de protocolo tem um identificador válido da função NdisOpenAdapterEx .

Nesse caso, as estruturas válidas são:

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Para obter mais informações sobre as duas estruturas de descarregamento de chaminés, consulte Documentação de descarregamento de chaminés TCP NDIS 6.0.

Os drivers de miniport chamam NdisSetOptionalHandlers no contexto da função MiniportSetOptions .

Nesse caso, as estruturas válidas são:

NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Para obter mais informações sobre as duas estruturas de descarregamento de chaminés, consulte Documentação de descarregamento de chaminés TCP NDIS 6.0.

Os drivers de filtro chamam NdisSetOptionalHandlers no contexto da função FilterSetOptions .

Não há serviços opcionais de driver de filtro na versão atual do Windows.

Os drivers de filtro podem chamar NdisSetOptionalHandlers para um módulo de filtro. Os drivers de filtro chamam NdisSetOptionalHandlers no contexto do Função FilterSetModuleOptions .

Nesse caso, as estruturas válidas são:

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Para obter mais informações sobre as 4 estruturas de descarregamento de chaminés, consulte Documentação de descarregamento de chaminés TCP NDIS 6.0.

Requisitos

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

Confira também

FilterAttach

FilterRestart

FilterSetOptions

MiniportSetOptions

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx

ProtocolSetOptions