Condividi tramite


Funzione NdisSetOptionalHandlers (ndis.h)

I driver NDIS possono chiamare la funzione NdisSetOptionalHandlers per impostare o modificare i punti di ingresso delle funzioni driver.

Sintassi

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Parametri

NdisHandle

Handle NDIS che identifica un driver o un'istanza del driver.

Per un driver di protocollo, si tratta del valore NdisDriverHandle passato alla funzione ProtocolSetOptions o al valore NdisBindingHand le ottenuto chiamando la funzione NdisOpenAdapterEx.

Per un driver miniport, questo è il valore NdisDriverHandle passato alla funzione MiniportSetOptions

Per un driver di filtro, si tratta del valore NdisDriverHandle passato alla funzione FilterSetOptions o al valore NdisFilterHandle passato alla funzione FilterAttach.

OptionalHandlers

Puntatore a una delle strutture NDIS seguenti:

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

Valore restituito

NdisSetOptionalHandlers restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers restituisce NDIS_STATUS_SUCCESS se imposta i punti di ingresso del driver.

NDIS_STATUS_RESOURCES

NdisSetOptionalHandlers non è riuscito a causa di risorse insufficienti.

NDIS_STATUS_NOT_SUPPORTED

NdisSetOptionalHandlers non riuscito perché il driver miniport non ha specificato che supporta NDIS 6.0 o versione successiva. Un driver miniport specifica la versione NDIS quando chiama funzione NdisMRegisterMiniportDriver.

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers restituisce NDIS_STATUS_FAILURE se nessuno dei valori precedenti viene applicato.

Osservazioni

Un driver NDIS può chiamare NdisSetOptionalHandlers per sovrascrivere i punti di ingresso predefiniti. I tipi di struttura passati a OptionalHandlers variano in base al tipo di driver.

I driver di protocollo possono chiamare NdisSetOptionalHandlers nel contesto della funzione ProtocolSetOptions. Come opzione, i driver di protocollo possono chiamare NdisSetOptionalHandlers dalla funzione ProtocolBindAdapterEx o dalla funzione funzione protocolOpenAdapterCompleteEx dopo che il driver del protocollo ha un handle valido dalla funzione NdisOpenAdapterEx.

In questo caso, le strutture valide sono:

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Per altre informazioni sulle 2 strutture di offload del camino, vedere documentazione di offload del camino TCP 6.0 NDIS 6.0.

I driver Miniport chiamano NdisSetOptionalHandlers nel contesto della funzione MiniportSetOptions.

In questo caso, le strutture valide sono:

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

Per altre informazioni sulle 2 strutture di offload del camino, vedere documentazione di offload del camino TCP 6.0 NDIS 6.0.

I driver di filtro chiamano NdisSetOptionalHandlers nel contesto della funzione FilterSetOptions.

Nella versione corrente di Windows non sono disponibili servizi driver di filtro facoltativi.

I driver di filtro possono chiamare NdisSetOptionalHandlers per un modulo di filtro. I driver di filtro chiamano NdisSetOptionalHandlers nel contesto di funzione di FilterSetModuleOptions.

In questo caso, le strutture valide sono:

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

Per altre informazioni sulle 4 strutture di offload del camino, vedere documentazione sull'offload del camino TCP 6.0.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Universale
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL PASSIVE_LEVEL
regole di conformità DDI Irql_Miscellaneous_Function(ndis)

Vedere anche

FilterAttach

FilterRestart

FilterSetOptions

miniportSetOptions

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS 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