NdisMInitializeWrapper

VOID
   NdisMInitializeWrapper(
       OUT PNDIS_HANDLE
NdisWrapperHandle,
       IN PVOID SystemSpecific1,
       IN PVOID SystemSpecific2,
       IN PVOID SystemSpecific3
       );

NdisMInitializeWrapper notifies NDIS that a new miniport is initializing.

Parameters

NdisWrapperHandle

Points to a caller-supplied variable in which NDIS returns a handle that represents itself.

SystemSpecific1

Specifies a pointer of a system-specific type.

For Windows NT drivers, this is a pointer to an opaque driver object input to the miniport’s DriverEntry function.

SystemSpecific2

Specifies a pointer of a system-specific type.

For Windows NT drivers, this is a pointer to an opaque registry path input to the miniport’s DriverEntry function.

SystemSpecific3

Specifies a pointer of a system-specific type.

For Windows NT drivers, this pointer should be set to NULL when the miniport calls NdisMInitializeWrapper.

Comments

A NIC driver or intermediate driver must call NdisMInitializeWrapper before it calls any other NdisXxx function. Usually, this call is the initial action of any NIC driver’s DriverEntry function, which calls NdisMRegisterMiniport or NdisIMRegisterLayeredMiniport with the returned NdisWrapperHandle next. NDIS intermediate drivers also must call NdisMIntializeWrapper from the DriverEntry function and, then, call NdisMRegisterMiniport or NdisIMRegisterLayeredMiniport with the returned NdisWrapperHandle.

Such a driver’s subsequent calls to NdisXxx initialization and configuration functions must pass the NdisWrapperHandle as a parameter. Consequently, it is an input parameter to the MiniportInitialize function.

Callers of NdisMInitializeWrapper run at IRQL PASSIVE_LEVEL.

See Also

DriverEntry of NDIS Miniport Drivers, MiniportInitialize, NdisIMRegisterLayeredMiniport, NdisMRegisterMiniport, NdisTerminateWrapper