ProtocolOpenAdapterCompleteEx (Compact 7)
3/12/2014
NDIS calls a protocol driver's this function to complete an open adapter operation for which the NdisOpenAdapterEx function returned NDIS_STATUS_PENDING.
Syntax
VOID
ProtocolOpenAdapterCompleteEx(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status
);
Parameters
- ProtocolBindingContext
A handle to a context area allocated by the protocol driver. The protocol driver maintains the per-binding context information in this context area. The driver supplied this handle to NDIS when the driver called NdisOpenAdapterEx.
- Status
The final status of the open operation for the underlying miniport driver. This status value is NDIS_STATUS_SUCCESS if the binding was established or any error status that the underlying driver determines.
Return Value
None
Remarks
The ProtocolOpenAdapterCompleteEx function is required. A protocol driver calls the NdisOpenAdapterEx function from its ProtocolBindAdapterEx function. NDIS calls the driver's ProtocolOpenAdapterCompleteEx function after a pending open operation is complete.
If ProtocolBindAdapterEx is waiting for NDIS to call ProtocolOpenAdapterCompleteEx, this function can save the status and indicate that it has been called (for example, it can update the ProtocolBindingContext context area). This allows the ProtocolBindAdapterEx function to complete the bind operation.
If the ProtocolBindAdapterEx function has not already done so, ProtocolOpenAdapterCompleteEx can allocate the resources that the driver requires for the binding.
If ProtocolBindAdapterEx returned NDIS_STATUS_PENDING, ProtocolOpenAdapterCompleteEx can call the NdisCompleteBindAdapterEx function to complete the binding operation. In this case, ProtocolOpenAdapterCompleteEx passes NdisCompleteBindAdapterEx the BindContext handle that NDIS passed to ProtocolBindAdapterEx. If the Status parameter indicates an error, ProtocolOpenAdapterCompleteEx can release binding resources that were set up in ProtocolBindAdapterEx.
NDIS calls ProtocolOpenAdapterCompleteEx at IRQL = PASSIVE_LEVEL.
See Also
Reference
NDIS Protocol Driver Functions
NdisCompleteBindAdapterEx
NdisOpenAdapterEx
ProtocolBindAdapterEx
NET_BUFFER Structure Macros