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 |
---|---|
|
NdisOpenAdapterEx ha completato correttamente l'operazione aperta. |
|
NdisOpenAdapterEx non ha completato l'operazione aperta. NDIS chiama in seguito il driver del protocollo Funzione ProtocolOpenAdapterCompleteEx per completare l'operazione aperta. |
|
NdisOpenAdapterEx non è riuscito a causa di risorse insufficienti. |
|
Impossibile trovare un adattatore miniport specificato nel membro AdapterName in OpenParameters . |
|
NdisOpenAdapterEx non riuscito perché la matrice specificata nel membro MediumArray in OpenParameters non includeva un tipo medio supportato da NDIS o il driver sottostante. |
|
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) |