none
NDIS I/O Port Interface library not implemented in Compact 2013 RRS feed

  • Question

  • While implementing an NDIS miniport driver I need access to x86 I/O ports. The NDIS I/O Port Interface library is documented. But when I try to use any of the function like NdisWritePortUchar I get a compiler error:

    error C3861: 'NDIS_PORT_TO_PORT': identifier not found

    This macro NDIS_PORT_TO_PORT cannot be found in any .h file in the WINCE800 tree. Does it mean that the libray is not implemented or is this a documentation bug?

    Thursday, November 13, 2014 2:11 PM

All replies

  • Not quite sure but I think its an backwards compatibility issue. The method NdisWritePortUchar is for NDIS5.x and the WEC2013 supports 6.1 but should be backwards compatible...i guess its not.

    try the RAW versions like... NdisRawWritePortUlong()



    Good Luck,

    Erwin Zwart, eMVP
    Check out my blog: http://guruce.com/blog
    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Thursday, November 13, 2014 8:52 PM
  • Not quite sure but I think its an backwards compatibility issue. The method NdisWritePortUchar is for NDIS5.x and the WEC2013 supports 6.1 but should be backwards compatible...i guess its not.

    try the RAW versions like... NdisRawWritePortUlong()


    The RawXxx function does not get the MiniportAdapterHandle. So it can't validate the port address. I assumed that it would be good style to use the NdisWritePortUlong function because it could validate the port address.

    Since NDIS 6.x in WEC2013 claims to be faster than older versions it might be the new good style to omit such checks. In that case it's just a documentation bug if NdisWritePortUlong is at the linked page.

    Friday, November 14, 2014 4:13 PM