Expand Minimize

NdisIMInitializeDeviceInstance function

Note   NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

An NDIS intermediate driver calls the NdisIMInitializeDeviceInstance function to initiate the initialization operation for a virtual NIC.

Syntax


NDIS_STATUS NdisIMInitializeDeviceInstance(
  _In_  NDIS_HANDLE DriverHandle,
  _In_  PNDIS_STRING DeviceInstance
);

Parameters

DriverHandle [in]

Specifies the handle returned by NdisIMRegisterLayeredMiniport.

DeviceInstance [in]

Pointer to an NDIS_STRING type that describes a 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. For Windows 2000 and later drivers, this string contains Unicode characters. That is, for Windows 2000 and later, NDIS defines the NDIS_STRING type as a UNICODE_STRING type.

Return value

NdisIMInitializeDeviceInstance can return either of the following:

Return codeDescription
NDIS_STATUS_SUCCESS

NDIS initiated the initialization operation for the intermediate driver's virtual NIC.

NDIS_STATUS_NOT_ACCEPTED

NdisIMInitializeDeviceInstance failed because the device specified by DriverHandle has already been initialized.

 

Remarks

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

Before it calls NdisIMInitializeDeviceInstance, ProtocolBindAdapter should bind the intermediate driver to any underlying NIC drivers that the intermediate driver requires to function. 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.

Before NDIS calls an intermediate driver's MiniportInitialize function, the driver can call NdisIMCancelInitializeDeviceInstance to cancel the initialization operation.

After NDIS calls an intermediate driver's MiniportInitialize function, the driver must call NdisIMDeInitializeDeviceInstance to reverse the initialization operation.

Requirements

Version

Not supported for NDIS 6.0 drivers in Windows Vista. Use NdisIMInitializeDeviceInstanceExinstead. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP. Use NdisIMInitializeDeviceInstanceEx instead.

Header

Ndis.h (include Ndis.h)

IRQL

PASSIVE_LEVEL

See also

ANSI_STRING
MiniportInitialize
NdisIMCancelInitializeDeviceInstance
NdisIMDeInitializeDeviceInstance
NdisIMInitializeDeviceInstanceEx
NdisIMRegisterLayeredMiniport
NdisInitializeString
NdisOpenAdapter
ProtocolBindAdapter
UNICODE_STRING

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft. All rights reserved.