NdisOpenConfiguration

This function returns a handle for an NDIS NIC driver’s \DriverName\Parms registry key.

At a Glance

Header file: Ndis.h
Windows CE versions: 2.0 and later

Syntax

VOID NdisOpenConfiguration( OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE ConfigurationHandle,
IN NDIS_HANDLE WrapperConfigurationContext );

Parameters

Status
Pointer to a caller-supplied variable in which this function returns the status of its attempt to open the registry key. Possible return values are the following:
NDIS_STATUS_SUCCESS
The value at ConfigurationHandle is valid.
NDIS_STATUS_FAILURE
The key could not be opened.
ConfigurationHandle
Pointer to a caller-supplied variable in which this function returns a handle to the registry HKEY_LOCAL_MACHINE\System\CurrentControlSet
\Services\DriverName\Parameters
key. Value entries under this key are provided by the driver’s installation script.
WrapperConfigurationContext
Handle input to the MiniportInitialize function.

Remarks

With the handle returned by this function, an NDIS miniport can call the NdisReadConfiguration function one or more times to extract configuration information about its NIC from the registry. A miniport can also call NdisReadNetworkAddress with this handle to retrieve software-configurable network address information that was stored in the registry when its NIC was installed in the current computer.

A miniport’s installation script must store at least the following configuration information in the registry:

Drivers of NICs on ISA buses usually get bus-relative configuration parameters for an NIC from the registry with the NdisReadConfiguration function. Drivers of NICs on other types of I/O buses can also call NdisXXX bus-type-specific configuration functions to get bus-relative NIC-specific configuration parameters suitable for calling functions, such as NdisMRegisterInterrupt, NdisMMapIoSpace, and/or NdisMRegisterIoPortRange.

An NIC driver calls the NdisMSetAttributes or the NdisMSetAttributesEx function to identify the type of I/O bus on which its NIC is likely to be found before that driver calls any of the bus-type-specific configuration functions.

After a driver has consumed and, possibly, modified the registry configuration information, the driver must call the NdisCloseConfiguration function to release the handle obtained from this function and to free any temporary storage that NDIS allocated in the driver’s calls to NdisReadConfiguration, NdisReadNetworkAddress, and/or NdisWriteConfiguration.

A driver that calls this function runs at IRQL PASSIVE_LEVEL.

See Also

NdisMMapIoSpace, NdisMRegisterInterrupt, NdisMRegisterIoPortRange, NdisMRegisterMiniport, NdisMSetAttributes, NdisMSetAttributesEx, NdisOpenProtocolConfiguration, NdisReadNetworkAddress, NdisReadPciSlotInformation, NdisRegisterProtocol, NdisWriteConfiguration