NDIS miniport Driver Mandatory callbacks

Hello All,

Are there some mandatory list of callbacks for a Ndis Miniport driver which shall be registered using NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure or we have to register all the callbacks ?

Regards
Gaurav

See:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff565958(v=vs.85).a
spx

Thomas F. Divine
Http://www.pcausa.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Thursday, June 5, 2014 1:19 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS miniport Driver Mandatory callbacks

Hello All,

Are there some mandatory list of callbacks for a Ndis Miniport driver which
shall be registered using NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure or
we have to register all the callbacks ?

Regards
Gaurav


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Hello Thomas,

I have already seen the page and it lists all the routines. Do we need to register all of them?

Regards,
Gaurav

All except those listed as optional.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Thursday, June 5, 2014 9:37 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] NDIS miniport Driver Mandatory callbacks

Hello Thomas,

I have already seen the page and it lists all the routines. Do we need to
register all of them?

Regards,
Gaurav


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Thanks Thomas, “read the documentation” is the correct answer. But unfortunately … the documentation is not 100% correct here.

Let me give a little more detail than the documentation currently has. I’ll get the docs updated in the meanwhile.

// Always mandatory
InitializeHandlerEx
HaltHandlerEx
UnloadHandler
PauseHandler
RestartHandler
SendNetBufferListsHandler
ReturnNetBufferListsHandler
CancelSendHandler
DevicePnPEventNotifyHandler
ShutdownHandlerEx
CancelOidRequestHandler

// Required for Ethernet.
// Optional for some CoNDIS miniport drivers.
OidRequestHandler

// Optional for Ethernet (but if specified, must both be provided)
// Required for WLAN
DirectOidRequestHandler
CancelDirectOidRequestHandler

// Optional
// Required for Co-NDIS. Suggested for RSS with MSI-X.
MiniportSetOptions

// Optional
// For 6.30 and later, consider using NdisMResetMiniport instead of this
CheckForHangHandlerEx

// Optional. Required if you provided a CheckForHangHandlerEx.
ResetHandlerEx

I’m trying to set up one of my old drivers to be built using VS13/WDK8.1. I’m NOT a VS user so I don’t know were to look to resolve this Link problem. Any pointers would help.

Here is the output of the Build:

1>------ Build started: Project: Lcnp4Drv, Configuration: Win7 Debug x64 ------
1>Build started 6/5/2014 1:47:39 PM.
1>InitializeBuildStatus:
1> Touching “Win7Debug\x64\Lcnp4Drv.tlog\unsuccessfulbuild”.
1>Converted Target 1:
1> File mofcomp is up-to-date
1>StampInf:
1> Copying file from “.\lcnpdrv.inx” to “H:\tps_drivers\lcnp4eElliott\source\Win7Debug\x64\Lcnp4Drv.sys\lcnpdrv.inf”.
1> Stamping H:\tps_drivers\lcnp4eElliott\source\Win7Debug\x64\Lcnp4Drv.sys\lcnpdrv.inf [Version] section with DriverVer=06/05/2014,13.47.39.965
1> Copying file from “H:\tps_drivers\lcnp4eElliott\source\Win7Debug\x64\Lcnp4Drv.sys\lcnpdrv.inf” to “Win7Debug\x64\lcnpdrv.inf”.
1>Mofcomp:
1> Microsoft (R) MOF Compiler Version 6.1.7600.16385
1> Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
1> Parsing MOF file: .\Lcnp4e.mof
1> MOF file has been successfully parsed
1> Storing Binary MOF data in H:\tps_drivers\lcnp4eElliott\source\Win7Debug\x64\Lcnp4Drv.sys\Lcnp4e.bmf
1> Done!
1>Wmimofck:
1> Microsoft (R) WDM Extensions To WMI MOF Checking Utility Version 1.50.0000
1> Copyright (c) Microsoft Corp. 1997-2000. All rights reserved.
1>
1> Binary mof file H:\tps_drivers\lcnp4eElliott\source\Win7Debug\x64\Lcnp4Drv.sys\Lcnp4e.bmf expanded to 4028 bytes
1>MessageCompile:
1> MC: Compiling tdcmsg.mc
1>ClCompile:
1> boardinfoenableslots.c
1> controlwaitinterrupt.c
1> decipherresources.c
1> driverentry.c
1> driverrevconfigspace.c
1> enterboardinfo.c
1> initlcnp4e.c
1> interruptlcnp4e.c
1> lcnp4edpc.c
1> lcnp4eevtiodevicecontrol.c
1> lcnp4eevtunload.c
1> lcnp4eisr.c
1> lcnp4pnp.c
1> mapmem.c
1> readregistry.c
1> startlcnp4e.c
1> sysprintstuff.c
1> tdcerrorlog.c
1> timesync.c
1> waitinterruptrequest.c
1> Generating Code…
1> Compiling…
1> wsichannelsemaphores.c
1> Generating Code…
1>LINK : fatal error LNK1104: cannot open file ‘Win7Debug\x64\Lcnp4Drv.sys’
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.30
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

The directory is there and contains the “bmf” and “inf” files from this build, but the directory has been marked as Read Only.

Thanks
Larry C

Sorrty I ment that to be a new thread. My bad.

Hello Jeffrey,

Thanks for explaining.

Hope this will soon be updated in the docs so that it becomes more clear for future developers.

Regards,
Gaurav