Can NDIS Miniport driver use UART as its lower edge?
Dear Guys,
I'm trying to write a miniport driver for wifi device, and its lower edge is UART interface, but when I debugging , I found that system wouldn't call my MiniportInitalize function I specified in DriverEntry.
The DriverEntry function's code is below:
///////////////////////////////////////////////////////////////////////////////////////////////////
// DriverEntry
// Installable driver initialization entry point.
// This entry point is called directly by the I/O system.
//
// Arguments:
// IN DriverObject
// pointer to the driver object
//
// IN RegistryPath
// pointer to a unicode string representing the path,
// to driver-specific key in the registry.
//
// Return Value:
// Status
//
NDIS_STATUS DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NDIS_STATUS status;
NDIS_HANDLE wrapperHandle;
NDIS_MINIPORT_CHARACTERISTICS miniportChars;
UartWifiDebugPrint(DBG_INIT, DBG_TRACE, __FUNCTION__"++");
UartWifiDebugPrint(DBG_INIT, DBG_INFO, "Compiled at %s on %s", __TIME__, __DATE__);
#ifdef DBG
// DbgBreakPoint();
#endif
// register our driver with NDIS
NdisMInitializeWrapper(&wrapperHandle, DriverObject, RegistryPath, NULL);
if (wrapperHandle == NULL)
{
status = NDIS_STATUS_FAILURE;
UartWifiDebugPrint(DBG_INIT, DBG_ERR, __FUNCTION__"--. STATUS %x", status);
return status;
}
// fill in miniport characteristics structure with our handlers
NdisZeroMemory(&miniportChars, sizeof(NDIS_MINIPORT_CHARACTERISTICS));
// TODO: set ndis version
miniportChars.MajorNdisVersion = 5;
#ifdef NDIS51_MINIPORT
miniportChars.MinorNdisVersion = 1;
#else
miniportChars.MinorNdisVersion = 0;
#endif
miniportChars.CheckForHangHandler = UartWifiCheckForHang;
miniportChars.HaltHandler = UartWifiHalt;
miniportChars.InitializeHandler = UartWifiInitialize;
miniportChars.QueryInformationHandler = UartWifiQueryInformation;
// reconfigure handler currently is never called by NDIS
// miniportChars.ReconfigureHandler = UartWifiReconfigure;
miniportChars.ResetHandler = UartWifiReset;
miniportChars.ReturnPacketHandler = UartWifiReturnPacket;
Bookmarks