| Debugging Tools for Windows | 
The DEBUG_VALUE structure holds register and expression values.
typedef struct _DEBUG_VALUE {
  union {
    UCHAR  I8;
    USHORT  I16;
    ULONG  I32;
    struct {
      ULONG64  I64;
      BOOL  Nat;
    };
    float  F32;
    double  F64;
    UCHAR  F80Bytes[10];
    UCHAR  F82Bytes[11];
    UCHAR  F128Bytes[16];
    UCHAR  VI8[16];
    USHORT  VI16[8];
    ULONG  VI32[4];
    ULONG64  VI64[2];
    float  VF32[4];
    double  VF64[2];
    struct {
      ULONG  LowPart;
      ULONG  HighPart;
    }  I64Parts32;
    struct {
      ULONG64  LowPart;
      LONG64  HighPart;
    }  F128Parts64;
    UCHAR  RawBytes[24];
  };
  ...
  ULONG  Type;
} DEBUG_VALUE, *PDEBUG_VALUE;
The Type field specifies the value type that is being held by the structure. This also specifies which field in the structure is valid. The possible values of the Type field, and the corresponding field specified as valid in the structure, include the following.
| Type Name | Type | Valid DEBUG_VALUE Field | 
|---|---|---|
| DEBUG_VALUE_INT8 | 8-bit signed integer | I8 | 
| DEBUG_VALUE_INT16 | 16-bit signed integer | I16 | 
| DEBUG_VALUE_INT32 | 32-bit signed integer | I32 | 
| DEBUG_VALUE_INT64 | 64-bit signed integer | I64 | 
| DEBUG_VALUE_FLOAT32 | 32-bit floating point number | F32 | 
| DEBUG_VALUE_FLOAT64 | 64-bit floating point number | F64 | 
| DEBUG_VALUE_FLOAT80 | 80-bit floating point number | F80Bytes | 
| DEBUG_VALUE_FLOAT128 | 128-bit floating point number | F128Bytes | 
| DEBUG_VALUE_VECTOR64 | 64-bit vector | VI8[8], VI16[4], VI32[2], VI64[1], VF32[2], VF64[1] | 
| DEBUG_VALUE_VECTOR128 | 128-bit vector | VI8[16], VI16[8], VI32[4], VI64[2], VF32[4], VF64[2] | 
Headers: Defined in DbgEng.h. Include DbgEng.h.