This function calls an NDIS intermediate driver's MiniportInitialize function to set up the driver's virtual NIC for I/O operations on an underlying NIC driver to which the intermediate driver is bound.

NDIS_STATUS NdisIMInitializeDeviceInstance(
  NDIS_HANDLE DriverHandle,
  PNDIS_STRING DeviceInstance


  • DriverHandle
    [in] Specifies the handle returned by NdisIMRegisterLayeredMiniport.
  • DeviceInstance
    [in] Points to a buffered, caller-initialized counted string, in the system-default character set, naming the registry key in which the driver stores information about its virtual NIC and, possibly, binding-specific information.

Return Values

The following table shows the return values for this function.

Value Description
NDIS_STATUS_SUCCESS The intermediate driver's virtual NIC was successfully initialized.
NDIS_STATUS_NOT_ACCEPTED NdisIMInitializeDeviceInstanceEx failed because the device specified by DriverHandle has already been initialized.


An NDIS intermediate driver usually calls NdisIMInitializeDeviceInstance or NdisIMInitializeDeviceInstanceEx from its ProtocolBindAdapter function.

The driver's installation script created the key designated by DeviceInstance in the configuration registry tree.

Before it calls NdisIMInitializeDeviceInstance, ProtocolBindAdapter must make a successful call to NdisOpenAdapter, thereby binding the intermediate driver to the underlying NIC driver. Then, its subsequent call to NdisIMInitializeDeviceInstance allows the driver's MiniportInitialize function to allocate any resources the driver needs to carry out network I/O operations and to initialize the driver's virtual NIC, to which higher-level protocol drivers can bind themselves when the NDIS intermediate driver's initialization is complete.


OS Versions: Windows CE .NET 4.0 and later.
Header: Ndis.h.

See Also

MiniportInitialize | NdisIMDeInitializeDeviceInstance | NdisIMInitializeDeviceInstanceEx | NdisIMRegisterLayeredMiniport | NdisInitializeString | NdisOpenAdapter

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.