This function registers an NIC or intermediate driver’s Miniport_* entry points and name with the NDIS library when the driver initializes.
| Header file: | Ndis.h |
| Windows CE versions: | 2.0 and later |
NDIS_STATUS NdisMRegisterMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
IN UINT CharacteristicsLength );
The driver should initialize this structure with 0s before setting up any its members.
If the driver includes the build instruction NDIS40_MINIPORT or NDIS30_MINIPORT, as appropriate, in its sources; if the driver writer uses the -DNDIS40_MINIPORT or ..30.. compiler switch, this parameter is set when the driver is built.
NDIS_STATUS_SUCCESS indicates success. One of the following status values indicates failure:
An NIC driver calls this function from its DriverEntry function after DriverEntry calls the NdisMInitializeWrapper function.
Every NIC driver that exports only MiniportXXX functions must set up a characteristics structure and call this function. This structure is copied in the request to the NDIS library’s internal storage. Thus, once it has registered, a miniport driver cannot change its handler functions.
The NDIS library currently does not call MiniportReconfigure functions, so such a function in an existing miniport driver is dead code unless the miniport makes internal calls to its MiniportReconfigure function from MiniportInitialize.
After the driver has called this function, it should be prepared to be called back at the MiniportInitialize entry point specified in the characteristics structure.
NDIS intermediate drivers, which export both MiniportXXX and ProtocolXXX functions, usually call the NdisIMRegisterLayeredMiniport function, instead of this function. Intermediate drivers that export only a set of MiniportXXX functions usually call this funciton.
A driver that calls this function runs at IRQL PASSIVE_LEVEL.