DriverEntry of NDIS Full-NIC Drivers
ULONG
DriverEntry(
IN PVOID SystemSpecific1,
IN PVOID SystemSpecific2
);
DriverEntry is the initial entry point for Windows NT NDIS drivers, called automatically when the driver is loaded by the system.
Parameters
SystemSpecific1
Points to an OS-specific argument. For Windows NT drivers, this parameter is a DriverObject pointer.
SystemSpecific2
Points to an OS-specific argument. For Windows NT drivers, this parameter is a RegistryPath pointer.
Return Value
The DriverEntry function of a full-NIC driver usually returns the value returned by NdisRegisterMac.
Comments
DriverEntry first must call NdisInitializeWrapper, passing the pointers it was given as parameters to NdisInitializeWrapper. The returned NdisWrapperHandle is a required parameter for its subsequent call to NdisRegisterMac.
Next, DriverEntry calls NdisRegisterMac. If its call to NdisRegisterMac returns something other than NDIS_STATUS_SUCCESS, the driver will not remain loaded after DriverEntry returns control.
If NdisRegisterMac returns something other than NDIS_STATUS_SUCCESS, DriverEntry calls NdisTerminateWrapper and returns control with the error NDIS_STATUS_XXX returned by NdisRegisterMac or, possibly, with the general error NDIS_STATUS_FAILURE.
Otherwise, DriverEntry returns control with NDIS_STATUS_SUCCESS, and the driver’s MacAddAdapter function is called next to initialize and configure each NIC the driver supports.
DriverEntry runs at IRQL PASSIVE_LEVEL in the context of a system thread.
See Also
DriverEntry of NDIS Miniport Drivers, MacAddAdapter, NdisInitializeWrapper, NdisRegisterMac, NdisTerminateWrapper