NdisMDeregisterIoPortRange

This function releases a mapping that was set up with the NdisMRegisterIoPortRange function during driver initialization.

At a Glance

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

Syntax

VOID NdisMDeregisterIoPortRange(
IN NDIS_HANDLE
MiniportAdapterHandle, IN UINT InitialPort,
IN UINT NumberOfPorts, IN PVOID PortOffset );

Parameters

MiniportAdapterHandle
Handle input to the MiniportInitialize function.
InitialPort
Specifies the bus-relative address of the first port in the range of ports.
NumberOfPorts
Specifies the number of ports in the range.
PortOffset
Specifies the mapped base port address returned by the NdisMRegisterIoPortRange function.

Remarks

The miniport must pass the same InitialPort and NumberOfPorts parameters to this function that were passed when the MiniportInitialize function called the NdisMRegisterIoPortRange function to get the mapped PortOffset value. That is, a miniport cannot call this function to release a subrange of a mapped port range.

This function can be called from the MiniportInitialize or the MiniportHalt function only if MiniportInitialize previously made a successful call to the NdisMRegisterIoPortRange function.

This function also releases the driver’s claim on the I/O port range in the registry.

After it calls NdisMRegisterIoPortRange, the miniport can no longer access the NIC’s port range with calls to the NdisRawXXXPortXXX functions.

A driver that calls this function runs at IRQL PASSIVE_LEVEL.

See Also

NdisMRegisterIoPortRange