NdisMDeregisterDevice function (ndis.h)

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.

The NdisMDeregisterDevice function removes from the system a device object that was created with NdisMRegisterDevice. NdisMDeregisterDevice also removes the symbolic link that is associated with this device object.

Syntax

NDIS_STATUS NdisMDeregisterDevice(
  [in] NDIS_HANDLE NdisDeviceHandle
);

Parameters

[in] NdisDeviceHandle

Specifies the handle returned by NdisMRegisterDevice that identifies the device object to be deregistered.

Return value

NdisMDeregisterDevice returns NDIS_STATUS_SUCCESS if the device object and its associated symbolic link object are deleted.

Remarks

A driver calls NdisMDeregisterDevice from its Halt or Unload function to deregister a stand-alone device object that it previously created with NdisMRegisterDevice. The driver must call NdisMDeregisterDevice when it is being unloaded or when its DriverEntry routine encounters a fatal initialization error, such as an inability to obtain system resources.

When NdisMRegisterDevice is called, there cannot be any outstanding user-mode open operations on the device object being deleted. If there are, a system error occurs.

  • Target platform: Universal
  • Version: Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP.

Requirements

Requirement Value
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL

See also