Funzione NdisOpenAdapterEx (ndis.h)

Un driver di protocollo chiama la funzione NdisOpenAdapterEx dalla funzione ProtocolBindAdapterEx per configurare un'associazione tra il driver del protocollo e un driver sottostante.

Sintassi

NDIS_STATUS NdisOpenAdapterEx(
  [in]  NDIS_HANDLE           NdisProtocolHandle,
  [in]  NDIS_HANDLE           ProtocolBindingContext,
  [in]  PNDIS_OPEN_PARAMETERS OpenParameters,
  [in]  NDIS_HANDLE           BindContext,
  [out] PNDIS_HANDLE          NdisBindingHandle
);

Parametri

[in] NdisProtocolHandle

Handle restituito dall'oggetto Funzione NdisRegisterProtocolDriver .

[in] ProtocolBindingContext

Handle per un'area di contesto fornita dal chiamante in cui il driver del protocollo gestisce le informazioni sullo stato per questa associazione.

[in] OpenParameters

Puntatore a una struttura NDIS_OPEN_PARAMETERS configurata dal chiamante.

[in] BindContext

Handle che identifica l'area del contesto NDIS per l'operazione di associazione. NDIS ha passato questo handle al parametro BindContext della funzione ProtocolBindAdapterEx .

[out] NdisBindingHandle

Puntatore a una variabile fornita dal chiamante. NDIS scrive un handle in NdisBindingHandle che identifica l'associazione tra il chiamante e l'adattatore miniport specificato nel membro AdapterName in OpenParameters . Il chiamante usa questo handle nelle chiamate successive alle funzioni NdisXxx .

Valore restituito

NdisOpenAdapterEx restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
NdisOpenAdapterEx ha completato correttamente l'operazione aperta.
NDIS_STATUS_PENDING
NdisOpenAdapterEx non ha completato l'operazione aperta. NDIS chiama in seguito il driver del protocollo Funzione ProtocolOpenAdapterCompleteEx per completare l'operazione aperta.
NDIS_STATUS_RESOURCES
NdisOpenAdapterEx non è riuscito a causa di risorse insufficienti.
NDIS_STATUS_ADAPTER_NOT_FOUND
Impossibile trovare un adattatore miniport specificato nel membro AdapterName in OpenParameters .
NDIS_STATUS_UNSUPPORTED_MEDIA
NdisOpenAdapterEx non riuscito perché la matrice specificata nel membro MediumArray in OpenParameters non includeva un tipo medio supportato da NDIS o il driver sottostante.
NDIS_STATUS_FAILURE
NdisOpenAdapterEx non è riuscito per motivi diversi da quelli dell'elenco precedente.

Commenti

Un driver di protocollo deve chiamare NdisOpenAdapterEx dalla funzione ProtocolBindAdapterEx . NDIS ha esito negativo qualsiasi tentativo di chiamare NdisOpenAdapterEx al di fuori del contesto di ProtocolBindAdapterEx.

Se NdisOpenAdapterEx restituisce NDIS_STATUS_PENDING, il chiamante non deve usare i valori in NdisBindingHandle e il membro SelectedMediumIndex in OpenParameters finché non viene chiamata NDIS Funzione ProtocolOpenAdapterCompleteEx .

La stringa in AdapterName deve rimanere valida solo fino a quando NdisOpenAdapterEx restituisce. Pertanto, nel caso in cui NdisOpenAdapterEx restituisce NDIS_STATUS_PENDING, il driver non è necessario continuare a conservare questa stringa dopo che NdisOpenAdapterEx restituisce.

Al termine dell'operazione aperta, il chiamante può usare il valore restituito da NDIS in NdisBindingHandle nelle chiamate successive alle funzioni NdisXxx . Il chiamante può usare il membro SelectedMediumIndex del parametro OpenParameters per determinare come interagire con il driver sottostante.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI Irql_Protocol_Driver_Function(ndis)

Vedi anche

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx