DEBUGREGISTER, RETAILREGISTERZONES (Compact 2013)

3/28/2014

These macros register the current module (a DLL or process) and its associated debug zone with the kernel subsystem.

  • DEBUGREGISTER registers debug zones for your process or module only on Debug builds.
  • RETAILREGISTERZONES registers debug zones on Debug and Retail builds.

To always register debug zones, regardless of what build settings that you use, use the RegisterDbgZones function.

Syntax

DEBUGREGISTER (hMod) 
RETAILREGISTERZONES  (hMod) 

Parameters

  • hMod
    Module handle.

Return Value

None.

Remarks

Any module (a DLL or process) can register an associated debug zone mask that uses this macro with the kernel debug subsystem. Once the debug zones are registered, a user can then turn debug zones on or off programmatically.

Debug zones may also be turned on or off interactively from the Target Control window. You can interactively turn debug zones on or off by modifying bits of the registered debug zone mask.

You can call one of these macros from the main function of your process, or from the DllMain entry point of your DLL. For example, from the main function of a process, you might call:

 DEBUGREGISTER(NULL);

Alternatively, from the entry point of a DLL, call:

 DEBUGREGISTER(hInstDLL);

Where hInstDLL is the instance value that was passed to DllMain.

The design of this macro assumes that a global variable dpCurSettings has already been defined, where dpCurSettings must be a DBGPARAM structure.

NOTE: In a Retail build, when the environment variable "WINCESHIP=1" is set, dpCurSettings will NOT be included in the library. To use dpCurSettings for a retail build, rebuild the library with "WINCESHIP=" or use the debug build to build the individual DLL.

Requirements

Header

dbgapi.h

See Also

Reference

Debugging Macros
DEBUGZONE