How To NdisWan Debug Tracing (229660)



The information in this article applies to:

  • Microsoft Windows NT 4.0 Driver Development Kit (DDK), when used with:
    • the operating system: Microsoft Windows NT
    • the operating system: Microsoft Windows 2000

This article was previously published under Q229660

SUMMARY

This article describes how to enable different levels of debug trace information within NdisWAN. It is helpful to have as much information as possible from the NdisWAN when debugging NdisWAN 4.0 drivers. Furthermore, enabling any one of several levels of DbgPrint statements within NdisWAN provides enough additional information to successfully debug most NdisWAN driver problems. It is important to note, however, that by enabling the trace levels within the wrapper you may adversely affect timing and performance parameters that can cause or contribute to additional failures.

MORE INFORMATION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


This process requires a CHECKED version of NDIS. To enable tracing, add the following values to the registry:
HKLM\System\CurrentControlSet\Services\NdisWan\Parameters key in the registry:
REG_DWORD DebugIdentifier
REG_DWORD DebugLevel
				
DebugIdentifier, determines which NdisWAN component(s) are affected by the second variable, DebugLevel. DebugLevel determines the level, or amount of tracing in the selected component. Acceptable values for both variables are as follows:
// 
// DebugLevel
// 
#define	DBG_DEATH                               1
#define DBG_CRITICAL_ERROR                       2
#define	DBG_FAILURE                             4
#define	DBG_INFO                                6
#define	DBG_TRACE                               8
#define	DBG_VERBOSE                            10

// 
// DebugIdentifier
// 
#define	DBG_INIT                               0x00000001
#define DBG_MINIPORT                            0x00000002
#define	DBG_PROTOCOL                           0x00000004
#define DBG_SEND                                0x00000008
#define DBG_RECEIVE                             0x00000010
#define DBG_IO                                  0x00000020
#define DBG_MEMORY                              0x00000040
#define DBG_VJ                                  0x00000080
#define DBG_TAPI                                0x00000100
#define DBG_CCP                                 0x00000200
#define DBG_LOOPBACK                            0x00000400
#define DBG_MULTILINK_RECV                      0x00000800
#define DBG_MULTILINK_SEND                      0x00001000
#define DBG_SEND_VJ                             0x00002000
#define DBG_RECV_VJ                             0x00004000
#define DBG_CL                                  0x00008000
#define DBG_CM                                  0x00010000
#define DBG_INDICATE                            0x00020000
#define DBG_BACP                                0x00040000
#define DBG_REQUEST                             0x00080000
#define DBG_ALL                                 0xFFFFFFFF
				

REFERENCES

It is important to note that by enabling the trace levels within the wrapper, you may adversely affect timing and performance parameters that can cause or contribute to additional failures.

Modification Type:MinorLast Reviewed:8/30/2004
Keywords:kbhowto kbNDIS kbNetTrace KB229660