A protocol driver calls the NdisOpenAdapterEx function from its ProtocolBindAdapterEx function to set up a binding between the protocol driver and an underlying driver.
NDIS_STATUS NdisOpenAdapterEx( NDIS_HANDLE NdisProtocolHandle, NDIS_HANDLE ProtocolBindingContext, PNDIS_OPEN_PARAMETERS OpenParameters, NDIS_HANDLE BindContext, PNDIS_HANDLE NdisBindingHandle );
The handle returned by the NdisRegisterProtocolDriver function.
The handle for a caller-supplied context area in which the protocol driver maintains state information for this binding.
A pointer to an NDIS_OPEN_PARAMETERS structure that is set up by the caller.
The handle that identifies the NDIS context area for the bind operation. NDIS passed this handle to the BindContext parameter of the ProtocolBindAdapterEx function.
A pointer to a caller-supplied variable. NDIS writes a handle at NdisBindingHandle that identifies the binding between the caller and the miniport adapter specified in the AdapterName member at OpenParameters . The caller uses this handle in subsequent calls to NdisXxx functions.
NdisOpenAdapterEx returns one of the following status values:
||NdisOpenAdapterEx successfully completed the open operation.|
||NdisOpenAdapterEx did not complete the open operation. NDIS later calls the protocol driver's ProtocolOpenAdapterCompleteEx function to complete the open operation.|
||NdisOpenAdapterEx failed due to insufficient resources.|
||NdisOpenAdapterEx failed because a miniport adapter specified in the AdapterName member at OpenParameters could not be found.|
||NdisOpenAdapterEx failed because the array specified in the MediumArray member at OpenParameters did not include a medium type that NDIS or the underlying driver supports.|
||NdisOpenAdapterEx failed for reasons other than those in the preceding list.|
A protocol driver must call NdisOpenAdapterEx from its ProtocolBindAdapterEx function. NDIS fails any attempt to call NdisOpenAdapterEx outside the context of ProtocolBindAdapterEx.
If NdisOpenAdapterEx returns NDIS_STATUS_PENDING, the caller must not use the values at NdisBindingHandle and the SelectedMediumIndex member at OpenParameters until NDIS calls the ProtocolOpenAdapterCompleteEx function.
The string at AdapterName must remain valid only until NdisOpenAdapterEx returns. Therefore, in the case that NdisOpenAdapterEx returns NDIS_STATUS_PENDING, the driver is not required to continue to retain this string after NdisOpenAdapterEx returns.
After the open operation completes successfully, the caller can use the value that NDIS returned in the NdisBindingHandle in subsequent calls to NdisXxx functions. The caller can use the SelectedMediumIndex member of the OpenParameters parameter to determine how it should interact with the underlying driver.
|Minimum supported client||Supported in NDIS 6.0 and later.|
|Header||ndis.h (include Ndis.h)|
|DDI compliance rules||Irql_Protocol_Driver_Function|