summaryrefslogtreecommitdiffstats
path: root/vendor/windows/windows.natvis
blob: 85012f4c6589f5ca5196b32872df23f466d1f686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="windows::core::array::Array&lt;*&gt;">
    <DisplayString>{{ len={len} }}</DisplayString>

    <Expand>
      <Item Name="[len]">len</Item>
      <ArrayItems>
        <Size>len</Size>
        <ValuePointer>data</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>

  <Type Name="windows::core::error::Error">
    <Expand>
      <ExpandedItem>code</ExpandedItem>
      <Item Name="[info]">info</Item>
    </Expand>
  </Type>

  <Type Name="windows::core::hresult::HRESULT">
    <DisplayString>{(HRESULT)__0}</DisplayString>
  </Type>

  <Type Name="windows::imp::ref_count::RefCount">
    <DisplayString>{__0}</DisplayString>
  </Type>

  <Type Name="windows::core::strings::hstring::HSTRING">
    <Intrinsic Name="header" Expression="*((windows::core::strings::hstring::Header**)this)" ReturnType="windows::core::strings::hstring::Header *" />
    <Intrinsic Name="is_empty" Expression="header() == nullptr" />
    <DisplayString Condition="is_empty()">""</DisplayString>
    <DisplayString>{((char16_t*)header()->data),[header()->len]su}</DisplayString>

    <Expand>
      <Item Name="[len]">is_empty() ? (unsigned int)0 : header()->len</Item>
      <Item Name="[ref_count]" Condition="!is_empty()">header()->count</Item>
      <Item Name="[flags]" Condition="!is_empty()">header()->flags</Item>
      <Synthetic Name="[chars]" Condition="!is_empty()">
        <Expand>
          <ArrayItems>
            <Size>header()->len</Size>
            <ValuePointer>(char16_t*)header()->data</ValuePointer>
          </ArrayItems>
        </Expand>
      </Synthetic>
    </Expand>
  </Type>

  <Type Name="windows::core::strings::pstr::PSTR">
    <AlternativeType Name="windows::core::strings::pcstr::PCSTR" />
    <Intrinsic Name="len" Expression="strlen(((char*)__0))" />
    <DisplayString>{(char*)__0,[len()]s8}</DisplayString>
    <Expand>
      <Item Name="[len]">len()</Item>
      <Synthetic Name="[chars]">
        <Expand>
          <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>(char*)__0</ValuePointer>
          </ArrayItems>
        </Expand>
      </Synthetic>
    </Expand>
  </Type>

  <Type Name="windows::core::strings::pwstr::PWSTR">
    <AlternativeType Name="windows::core::strings::pcwstr::PCWSTR" />
    <Intrinsic Name="len" Expression="wcslen(((WCHAR*)__0))" />
    <DisplayString>{(char16_t*)__0,[len()]su}</DisplayString>

    <Expand>
      <Item Name="[len]">len()</Item>
      <Synthetic Name="[chars]">
        <Expand>
          <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>(char16_t*)__0</ValuePointer>
          </ArrayItems>
        </Expand>
      </Synthetic>
    </Expand>
  </Type>
</AutoVisualizer>