Microsoft KB Archive/229660

{|
 * width="100%"|

HOWTO: NdisWan Debug Tracing

 * }

Q229660

-

The information in this article applies to:


 * Microsoft Windows NT 4.0 Driver Development Kit (DDK), on platform(s):
 * the operating system: Microsoft Windows NT
 * the operating system: Microsoft Windows 2000

-

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: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT or Windows 2000, you should also update your Emergency Repair Disk (ERD).

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 //
 * 1) define DBG_DEATH                              1
 * 2) define DBG_CRITICAL_ERROR                      2
 * 3) define DBG_FAILURE                            4
 * 4) define DBG_INFO                               6
 * 5) define DBG_TRACE                              8
 * 6) define DBG_VERBOSE                           10

// // DebugIdentifier //
 * 1) define DBG_INIT                              0x00000001
 * 2) define DBG_MINIPORT                           0x00000002
 * 3) define DBG_PROTOCOL                          0x00000004
 * 4) define DBG_SEND                               0x00000008
 * 5) define DBG_RECEIVE                            0x00000010
 * 6) define DBG_IO                                 0x00000020
 * 7) define DBG_MEMORY                             0x00000040
 * 8) define DBG_VJ                                 0x00000080
 * 9) define DBG_TAPI                               0x00000100
 * 10) define DBG_CCP                                0x00000200
 * 11) define DBG_LOOPBACK                           0x00000400
 * 12) define DBG_MULTILINK_RECV                     0x00000800
 * 13) define DBG_MULTILINK_SEND                     0x00001000
 * 14) define DBG_SEND_VJ                            0x00002000
 * 15) define DBG_RECV_VJ                            0x00004000
 * 16) define DBG_CL                                 0x00008000
 * 17) define DBG_CM                                 0x00010000
 * 18) define DBG_INDICATE                           0x00020000
 * 19) define DBG_BACP                               0x00040000
 * 20) define DBG_REQUEST                            0x00080000
 * 21) define DBG_ALL                                0xFFFFFFFF