mirror of
https://github.com/lahfir/agent-desktop.git
synced 2026-08-20 14:06:30 +00:00
feat: probe uia3 com for events, caching, walkers, and pattern availability
This is the stack the Rust adapter actually wraps, and it does not agree with the managed client. Notepad's edit control is a bare Pane with no patterns to System.Windows.Automation but a Document with Value, Text, Text2, Scroll and LegacyIAccessible to UIA3 COM, which names the responsible EDIT proxy in ProviderDescription. Twenty-six nodes versus three. Win32 client-side proxies are alive here; they are inert only for the managed client, so a managed census would have recorded false absences for patterns the adapter will see. The scratch fixture's earlier zero-pattern reading was a fixture artifact rather than a platform fact: a custom server-side provider suppresses both client-side proxies and WinForms' own providers. Both fixture modes are censused so the ledger states the mechanism instead of the symptom. CacheRequest measures 2.73x against the documented 3-5x, but the headline number hides the shape: building the cache makes the find phase slower, and the entire win lands in the read phase at roughly 299x. The claim is wrong in both directions. Handler teardown is safe with events in flight, costing 69ms against a backlog of 281. The hazard is elsewhere: hiding and showing a top-level window while handlers are registered poisons subsequent removal for up to 86 seconds, superlinearly in repetitions, and cheap callbacks do not avoid it. A watch implementation needs a teardown timeout rather than an assumption. Pattern ids are discovered from the OS at runtime rather than hardcoded, which caught that the annotation availability property is 30118.
This commit is contained in:
parent
9e0a7267a8
commit
7c9dda23f9
16 changed files with 10366 additions and 0 deletions
1433
probes/windows/08-uia3-com.cs
Normal file
1433
probes/windows/08-uia3-com.cs
Normal file
File diff suppressed because it is too large
Load diff
435
probes/windows/08-uia3-com.ps1
Normal file
435
probes/windows/08-uia3-com.ps1
Normal file
|
|
@ -0,0 +1,435 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Probe 08 (sub-phase 2.0, unit U7): UIA3 COM shim - events/MTA threading,
|
||||
CacheRequest timing, tree-walker shape, and the authoritative pattern census.
|
||||
|
||||
.DESCRIPTION
|
||||
Compiles probes/windows/08-uia3-com.cs with the in-box pre-Roslyn csc.exe under
|
||||
/langversion:5 and drives it in five modes. The shim binds UIA3 COM through
|
||||
hand-declared [ComImport] interfaces and never references the GAC managed
|
||||
UIAutomationClient assembly, so every number it produces comes from the client
|
||||
stack the Rust `uiautomation` crate wraps (KTD1).
|
||||
|
||||
A managed System.Windows.Automation sweep over the same three targets runs
|
||||
alongside as an explicitly non-authoritative cross-check, so the COM-vs-managed
|
||||
divergence is measured in one capture rather than asserted.
|
||||
|
||||
Stable invocation contract for U4 (pattern census):
|
||||
|
||||
<shim>.exe census --target LABEL=0xHWND [--target ...] [--max-nodes N] [--max-depth N]
|
||||
|
||||
stdout is one compact JSON document:
|
||||
{ stack, binding, coclass, mainThreadId, mainApartment,
|
||||
discoveredPatternAvailabilityProperties,
|
||||
result: { mode:"census", targets:[ { label, processId, controlViewNodes,
|
||||
rawViewNodes, elementsWithAnyPattern,
|
||||
elementsWithAnyPatternExcludingLegacy, patternTotals,
|
||||
byControlType:[...], elements:[...] } ] } }
|
||||
|
||||
Captures under captures/08-uia3-com/:
|
||||
ids.json runtime-discovered UIA property/pattern identifier tables
|
||||
census.json COM pattern census: WinForms (both fixture modes), WPF, Notepad
|
||||
comparison.json COM vs managed side by side over the same three targets
|
||||
events.json MTA handler add/remove, event ordering over 20 repetitions
|
||||
cache-timing.json IUIAutomationCacheRequest vs per-property reads
|
||||
walker.json ControlView vs RawView vs ContentView node counts on Obsidian
|
||||
#>
|
||||
[CmdletBinding()]
|
||||
param()
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
. "$PSScriptRoot\common.ps1"
|
||||
|
||||
$Probe = '08-uia3-com'
|
||||
$script:Spawned = New-Object System.Collections.ArrayList
|
||||
$script:ExplorerWindows = New-Object System.Collections.ArrayList
|
||||
$script:ObsidianLaunched = $false
|
||||
|
||||
function Initialize-Uia3Support {
|
||||
if ('AgentDesktopProbe.Uia3Support' -as [type]) { return }
|
||||
$src = @'
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace AgentDesktopProbe {
|
||||
public static class Uia3Support {
|
||||
private delegate bool EnumProc(IntPtr hWnd, IntPtr lParam);
|
||||
|
||||
[DllImport("user32.dll")] private static extern bool EnumWindows(EnumProc cb, IntPtr lParam);
|
||||
[DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetClassNameW(IntPtr hWnd, StringBuilder buf, int max);
|
||||
[DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetWindowTextW(IntPtr hWnd, StringBuilder buf, int max);
|
||||
[DllImport("user32.dll")] private static extern bool IsWindowVisible(IntPtr hWnd);
|
||||
[DllImport("user32.dll")] private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint pid);
|
||||
[DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern bool PostMessageW(IntPtr hWnd, uint msg, IntPtr w, IntPtr l);
|
||||
|
||||
public static string ClassOf(IntPtr h) { StringBuilder b = new StringBuilder(256); GetClassNameW(h, b, 256); return b.ToString(); }
|
||||
public static string TitleOf(IntPtr h) { StringBuilder b = new StringBuilder(512); GetWindowTextW(h, b, 512); return b.ToString(); }
|
||||
public static int PidOf(IntPtr h) { uint p; GetWindowThreadProcessId(h, out p); return (int)p; }
|
||||
public static void Close(IntPtr h) { PostMessageW(h, 0x0010, IntPtr.Zero, IntPtr.Zero); }
|
||||
|
||||
public static IntPtr[] TopLevelWindows() {
|
||||
List<IntPtr> found = new List<IntPtr>();
|
||||
EnumWindows(delegate(IntPtr h, IntPtr l) {
|
||||
if (IsWindowVisible(h)) { found.Add(h); }
|
||||
return true;
|
||||
}, IntPtr.Zero);
|
||||
return found.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
'@
|
||||
Add-Type -TypeDefinition $src -Language CSharp | Out-Null
|
||||
}
|
||||
|
||||
function Find-ProbeWindow {
|
||||
param([int]$ProcessId = 0, [string]$ClassPattern = '', [string]$TitlePattern = '', [int]$TimeoutSec = 20)
|
||||
Initialize-Uia3Support
|
||||
$deadline = (Get-Date).AddSeconds($TimeoutSec)
|
||||
while ((Get-Date) -lt $deadline) {
|
||||
foreach ($h in [AgentDesktopProbe.Uia3Support]::TopLevelWindows()) {
|
||||
if ($ProcessId -gt 0 -and [AgentDesktopProbe.Uia3Support]::PidOf($h) -ne $ProcessId) { continue }
|
||||
if ($ClassPattern -and ([AgentDesktopProbe.Uia3Support]::ClassOf($h) -notmatch $ClassPattern)) { continue }
|
||||
$title = [AgentDesktopProbe.Uia3Support]::TitleOf($h)
|
||||
if ($TitlePattern -and ($title -notmatch $TitlePattern)) { continue }
|
||||
if (-not $TitlePattern -and -not $title) { continue }
|
||||
return $h
|
||||
}
|
||||
Start-Sleep -Milliseconds 300
|
||||
}
|
||||
return [IntPtr]::Zero
|
||||
}
|
||||
|
||||
function Get-ShellFolderWindows {
|
||||
Initialize-Uia3Support
|
||||
$found = New-Object System.Collections.ArrayList
|
||||
foreach ($h in [AgentDesktopProbe.Uia3Support]::TopLevelWindows()) {
|
||||
$cls = [AgentDesktopProbe.Uia3Support]::ClassOf($h)
|
||||
if ($cls -eq 'CabinetWClass' -or $cls -eq 'ExploreWClass') { [void]$found.Add($h) }
|
||||
}
|
||||
return $found.ToArray()
|
||||
}
|
||||
|
||||
function Start-TrackedScratch {
|
||||
param([string]$FilePath, [string[]]$ArgumentList = @(), [int]$TimeoutSec = 20)
|
||||
$p = Start-ScratchProcess -FilePath $FilePath -ArgumentList $ArgumentList -NoActivate -TimeoutSec $TimeoutSec
|
||||
[void]$script:Spawned.Add($p.ProcessId)
|
||||
return [pscustomobject]@{ ProcessId = $p.ProcessId; MainWindowHandle = $p.MainWindowHandle }
|
||||
}
|
||||
|
||||
function ConvertTo-HandleHex {
|
||||
param([IntPtr]$Handle)
|
||||
return ('0x' + $Handle.ToInt64().ToString('x'))
|
||||
}
|
||||
|
||||
function Invoke-Shim {
|
||||
param([string]$ExePath, [string[]]$ShimArgs, [int]$TimeoutSec = 620)
|
||||
$psi = New-Object System.Diagnostics.ProcessStartInfo
|
||||
$psi.FileName = $ExePath
|
||||
$psi.Arguments = ($ShimArgs | ForEach-Object { if ($_ -match '\s') { '"' + $_ + '"' } else { $_ } }) -join ' '
|
||||
$psi.UseShellExecute = $false
|
||||
$psi.RedirectStandardOutput = $true
|
||||
$psi.RedirectStandardError = $true
|
||||
$psi.CreateNoWindow = $true
|
||||
$proc = [System.Diagnostics.Process]::Start($psi)
|
||||
[void]$script:Spawned.Add($proc.Id)
|
||||
$stdout = $proc.StandardOutput.ReadToEnd()
|
||||
$stderr = $proc.StandardError.ReadToEnd()
|
||||
if (-not $proc.WaitForExit($TimeoutSec * 1000)) {
|
||||
try { $proc.Kill() } catch { }
|
||||
throw ('shim mode ' + $ShimArgs[0] + ' exceeded ' + $TimeoutSec + 's')
|
||||
}
|
||||
if ($proc.ExitCode -ne 0) {
|
||||
throw ('shim mode ' + $ShimArgs[0] + ' exited ' + $proc.ExitCode + ': ' + $stderr)
|
||||
}
|
||||
if ($stderr) { Write-ProbeLog -Message ('shim ' + $ShimArgs[0] + ' stderr: ' + $stderr.Trim()) -Level 'warn' }
|
||||
return ($stdout | ConvertFrom-Json)
|
||||
}
|
||||
|
||||
function Get-ManagedCensus {
|
||||
param([string]$Label, [IntPtr]$Handle)
|
||||
Add-Type -AssemblyName UIAutomationClient -ErrorAction SilentlyContinue
|
||||
Add-Type -AssemblyName UIAutomationTypes -ErrorAction SilentlyContinue
|
||||
$row = [ordered]@{ label = $Label; stack = 'managed-System.Windows.Automation'; authoritative = $false }
|
||||
try {
|
||||
$root = [System.Windows.Automation.AutomationElement]::FromHandle($Handle)
|
||||
$walker = [System.Windows.Automation.TreeWalker]::RawViewWalker
|
||||
$stack = New-Object System.Collections.Stack
|
||||
$stack.Push($root)
|
||||
$count = 0
|
||||
$withPattern = 0
|
||||
$types = @{}
|
||||
while ($stack.Count -gt 0 -and $count -lt 400) {
|
||||
$node = $stack.Pop()
|
||||
$count++
|
||||
$patterns = @($node.GetSupportedPatterns())
|
||||
if ($patterns.Count -gt 0) { $withPattern++ }
|
||||
$tn = $node.Current.ControlType.ProgrammaticName -replace '^ControlType\.', ''
|
||||
if ($types.ContainsKey($tn)) { $types[$tn] = $types[$tn] + 1 } else { $types[$tn] = 1 }
|
||||
$child = $walker.GetFirstChild($node)
|
||||
while ($child -ne $null) {
|
||||
$stack.Push($child)
|
||||
$child = $walker.GetNextSibling($child)
|
||||
}
|
||||
}
|
||||
$row['rawViewNodes'] = $count
|
||||
$row['elementsWithAnyPattern'] = $withPattern
|
||||
$row['controlTypes'] = $types
|
||||
} catch {
|
||||
$row['error'] = $_.Exception.Message
|
||||
}
|
||||
return $row
|
||||
}
|
||||
|
||||
$status = 'ok'
|
||||
$message = ''
|
||||
$summary = [ordered]@{}
|
||||
|
||||
try {
|
||||
$captureDir = Get-CaptureDir -Probe $Probe
|
||||
Write-ProbeLog -Message ('capture dir ' + $captureDir)
|
||||
|
||||
$csc = Join-Path $env:WINDIR 'Microsoft.NET\Framework64\v4.0.30319\csc.exe'
|
||||
if (-not (Test-Path -LiteralPath $csc)) { throw ('csc.exe not found at ' + $csc) }
|
||||
$cscVersion = (Get-Item -LiteralPath $csc).VersionInfo.FileVersion
|
||||
$buildDir = Join-Path $env:TEMP 'agent-desktop-uia3'
|
||||
if (-not (Test-Path -LiteralPath $buildDir)) { New-Item -ItemType Directory -Path $buildDir -Force | Out-Null }
|
||||
$shim = Join-Path $buildDir '08-uia3-com.exe'
|
||||
$source = Join-Path $PSScriptRoot '08-uia3-com.cs'
|
||||
$cscArgs = @('/nologo', '/target:exe', '/langversion:5', '/platform:anycpu', ('/out:' + $shim),
|
||||
'/reference:System.dll', '/reference:System.Core.dll', $source)
|
||||
$compilerOutput = (& $csc $cscArgs 2>&1 | Out-String).Trim()
|
||||
if ($LASTEXITCODE -ne 0) { throw ('csc.exe failed (' + $LASTEXITCODE + '): ' + $compilerOutput) }
|
||||
Write-ProbeLog -Message ('compiled shim with csc ' + $cscVersion + ' under /langversion:5')
|
||||
|
||||
$scratchExe = Join-Path $PSScriptRoot 'scratch\bin\ScratchForms.exe'
|
||||
if (-not (Test-Path -LiteralPath $scratchExe)) {
|
||||
Write-ProbeLog -Message 'building scratch WinForms fixture'
|
||||
& powershell -NoProfile -ExecutionPolicy Bypass -File (Join-Path $PSScriptRoot 'scratch\build-scratch.ps1') | Out-Null
|
||||
}
|
||||
if (-not (Test-Path -LiteralPath $scratchExe)) { throw ('scratch fixture missing at ' + $scratchExe) }
|
||||
|
||||
# --- identifier tables -------------------------------------------------
|
||||
$ids = Invoke-Shim -ExePath $shim -ShimArgs @('ids')
|
||||
Write-ProbeJson -Probe $Probe -Name 'ids.json' -InputObject $ids | Out-Null
|
||||
$summary['coclass'] = $ids.coclass
|
||||
$summary['patternAvailabilityPropertiesDiscovered'] = $ids.discoveredPatternAvailabilityProperties
|
||||
|
||||
# --- pattern census (U4 consumes this mode) ----------------------------
|
||||
$winDefault = Start-TrackedScratch -FilePath $scratchExe -ArgumentList @('--tag', 'u7-default', '--pos', '40,40')
|
||||
$winHosted = Start-TrackedScratch -FilePath $scratchExe -ArgumentList @('--tag', 'u7-hosted', '--pos', '840,40', '--host-providers')
|
||||
$wpfArgs = @('-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', (Join-Path $PSScriptRoot 'scratch\ScratchWpf.ps1'),
|
||||
'-Tag', 'u7', '-Left', '40', '-Top', '600', '-TimeoutSeconds', '300')
|
||||
$wpf = Start-TrackedScratch -FilePath 'powershell.exe' -ArgumentList $wpfArgs
|
||||
$wpfWindow = Find-ProbeWindow -ProcessId $wpf.ProcessId -TitlePattern 'AgentDesktop Scratch WPF'
|
||||
$notepad = Start-TrackedScratch -FilePath (Join-Path $env:WINDIR 'System32\notepad.exe')
|
||||
if ($wpfWindow -eq [IntPtr]::Zero) { throw 'WPF scratch window never appeared' }
|
||||
if ($winDefault.MainWindowHandle -eq [IntPtr]::Zero) { throw 'WinForms default-mode window never appeared' }
|
||||
if ($winHosted.MainWindowHandle -eq [IntPtr]::Zero) { throw 'WinForms host-providers window never appeared' }
|
||||
if ($notepad.MainWindowHandle -eq [IntPtr]::Zero) { throw 'notepad window never appeared' }
|
||||
|
||||
$censusArgs = @('census',
|
||||
'--target', ('winforms-default=' + (ConvertTo-HandleHex $winDefault.MainWindowHandle)),
|
||||
'--target', ('winforms-host-providers=' + (ConvertTo-HandleHex $winHosted.MainWindowHandle)),
|
||||
'--target', ('wpf=' + (ConvertTo-HandleHex $wpfWindow)),
|
||||
'--target', ('notepad=' + (ConvertTo-HandleHex $notepad.MainWindowHandle)),
|
||||
'--max-nodes', '300', '--max-depth', '30')
|
||||
$census = Invoke-Shim -ExePath $shim -ShimArgs $censusArgs
|
||||
Write-ProbeJson -Probe $Probe -Name 'census.json' -InputObject $census | Out-Null
|
||||
|
||||
$comRows = @()
|
||||
foreach ($t in $census.result.targets) {
|
||||
$comRows += [ordered]@{
|
||||
label = $t.label
|
||||
stack = 'uia3-com'
|
||||
authoritative = $true
|
||||
rawViewNodes = $t.rawViewNodes
|
||||
controlViewNodes = $t.controlViewNodes
|
||||
elementsWithAnyPattern = $t.elementsWithAnyPattern
|
||||
elementsWithAnyPatternExcludingLegacy = $t.elementsWithAnyPatternExcludingLegacy
|
||||
}
|
||||
}
|
||||
$managedRows = @(
|
||||
(Get-ManagedCensus -Label 'winforms-default' -Handle $winDefault.MainWindowHandle),
|
||||
(Get-ManagedCensus -Label 'winforms-host-providers' -Handle $winHosted.MainWindowHandle),
|
||||
(Get-ManagedCensus -Label 'wpf' -Handle $wpfWindow),
|
||||
(Get-ManagedCensus -Label 'notepad' -Handle $notepad.MainWindowHandle)
|
||||
)
|
||||
$comparison = [ordered]@{
|
||||
question = 'do UIA3 COM and managed System.Windows.Automation report the same pattern availability on this VM'
|
||||
note = 'COM rows are authoritative (KTD1); managed rows are a labeled non-authoritative cross-check'
|
||||
com = $comRows
|
||||
managed = $managedRows
|
||||
}
|
||||
$diverged = $false
|
||||
foreach ($c in $comRows) {
|
||||
$m = $managedRows | Where-Object { $_.label -eq $c.label } | Select-Object -First 1
|
||||
if ($m -and $m.elementsWithAnyPattern -ne $c.elementsWithAnyPattern) { $diverged = $true }
|
||||
}
|
||||
$comparison['stacksDiverge'] = $diverged
|
||||
Write-ProbeJson -Probe $Probe -Name 'comparison.json' -InputObject $comparison | Out-Null
|
||||
$summary['stacksDiverge'] = $diverged
|
||||
|
||||
Stop-ScratchProcess -ProcessId $winDefault.ProcessId
|
||||
Stop-ScratchProcess -ProcessId $wpf.ProcessId
|
||||
Stop-ScratchProcess -ProcessId $notepad.ProcessId
|
||||
|
||||
# --- events / MTA threading -------------------------------------------
|
||||
$events = Invoke-Shim -ExePath $shim -ShimArgs @('events', '--hwnd', (ConvertTo-HandleHex $winHosted.MainWindowHandle), '--reps', '20')
|
||||
Write-ProbeJson -Probe $Probe -Name 'events.json' -InputObject $events | Out-Null
|
||||
$noWindowChurn = Invoke-Shim -ExePath $shim -ShimArgs @('events', '--hwnd', (ConvertTo-HandleHex $winHosted.MainWindowHandle), '--reps', '20', '--drive', 'vcf')
|
||||
$windowChurnOnly = Invoke-Shim -ExePath $shim -ShimArgs @('events', '--hwnd', (ConvertTo-HandleHex $winHosted.MainWindowHandle), '--reps', '20', '--drive', 'w', '--cheap-callbacks')
|
||||
$isolation = [ordered]@{
|
||||
question = 'what makes RemoveXEventHandler on the MTA worker block for tens of seconds'
|
||||
method = 'same 20-repetition drive loop with one action class removed at a time; teardown timed per handler on the registering thread'
|
||||
arms = @(
|
||||
[ordered]@{
|
||||
arm = 'full drive loop (value + click + focus + window hide/show), property reads inside callbacks'
|
||||
driveActions = $events.result.driveActions
|
||||
cheapCallbacks = $events.result.cheapCallbacks
|
||||
totalEvents = $events.result.totalEvents
|
||||
quiescentTeardownElapsedMs = $events.result.quiescentTeardownElapsedMs
|
||||
inflightTeardownElapsedMs = $events.result.inflightTeardownElapsedMs
|
||||
quiescentTeardownPerHandler = $events.result.quiescentTeardownPerHandler
|
||||
},
|
||||
[ordered]@{
|
||||
arm = 'no window hide/show (value + click + focus only)'
|
||||
driveActions = $noWindowChurn.result.driveActions
|
||||
cheapCallbacks = $noWindowChurn.result.cheapCallbacks
|
||||
totalEvents = $noWindowChurn.result.totalEvents
|
||||
quiescentTeardownElapsedMs = $noWindowChurn.result.quiescentTeardownElapsedMs
|
||||
inflightTeardownElapsedMs = $noWindowChurn.result.inflightTeardownElapsedMs
|
||||
quiescentTeardownPerHandler = $noWindowChurn.result.quiescentTeardownPerHandler
|
||||
},
|
||||
[ordered]@{
|
||||
arm = 'window hide/show only, with callbacks that do no property reads'
|
||||
driveActions = $windowChurnOnly.result.driveActions
|
||||
cheapCallbacks = $windowChurnOnly.result.cheapCallbacks
|
||||
totalEvents = $windowChurnOnly.result.totalEvents
|
||||
quiescentTeardownElapsedMs = $windowChurnOnly.result.quiescentTeardownElapsedMs
|
||||
inflightTeardownElapsedMs = $windowChurnOnly.result.inflightTeardownElapsedMs
|
||||
quiescentTeardownPerHandler = $windowChurnOnly.result.quiescentTeardownPerHandler
|
||||
}
|
||||
)
|
||||
}
|
||||
Write-ProbeJson -Probe $Probe -Name 'events-teardown-isolation.json' -InputObject $isolation | Out-Null
|
||||
$summary['quiescentTeardownElapsedMsNoWindowChurn'] = $noWindowChurn.result.quiescentTeardownElapsedMs
|
||||
$summary['quiescentTeardownElapsedMsWindowChurnOnly'] = $windowChurnOnly.result.quiescentTeardownElapsedMs
|
||||
$summary['orderingStableAcrossReps'] = $events.result.orderingStableAcrossReps
|
||||
$summary['orderingStableExcludingWindowEvents'] = $events.result.orderingStableExcludingWindowEvents
|
||||
$summary['quiescentTeardownCompleted'] = $events.result.quiescentTeardownCompleted
|
||||
$summary['quiescentTeardownElapsedMs'] = $events.result.quiescentTeardownElapsedMs
|
||||
$summary['inflightTeardownCompletedUnderLoad'] = $events.result.inflightTeardownCompletedUnderLoad
|
||||
$summary['eventThreadsDistinctFromMain'] = $events.result.eventThreadsDistinctFromMain
|
||||
Stop-ScratchProcess -ProcessId $winHosted.ProcessId
|
||||
|
||||
# --- CacheRequest timing on Explorer ----------------------------------
|
||||
$explorerHandle = [IntPtr]::Zero
|
||||
$explorerKind = ''
|
||||
Initialize-Uia3Support
|
||||
$preExisting = @(Get-ShellFolderWindows)
|
||||
try {
|
||||
Start-Process -FilePath (Join-Path $env:WINDIR 'explorer.exe') -ArgumentList (Join-Path $env:WINDIR 'System32') | Out-Null
|
||||
$deadline = (Get-Date).AddSeconds(30)
|
||||
while ((Get-Date) -lt $deadline) {
|
||||
foreach ($w in (Get-ShellFolderWindows)) {
|
||||
if ($preExisting -notcontains $w) { [void]$script:ExplorerWindows.Add($w) }
|
||||
}
|
||||
if ($script:ExplorerWindows.Count -gt 0) { break }
|
||||
Start-Sleep -Milliseconds 500
|
||||
}
|
||||
if ($script:ExplorerWindows.Count -gt 0) {
|
||||
Start-Sleep -Seconds 2
|
||||
$explorerHandle = $script:ExplorerWindows[0]
|
||||
$explorerKind = 'probe-opened folder window (CabinetWClass) over %WINDIR%\System32, closed in teardown'
|
||||
}
|
||||
} catch {
|
||||
Write-ProbeLog -Message ('could not open an Explorer folder window: ' + $_.Exception.Message) -Level 'warn'
|
||||
}
|
||||
if ($explorerHandle -eq [IntPtr]::Zero) {
|
||||
$explorerHandle = Find-ProbeWindow -ClassPattern '^Shell_TrayWnd$' -TitlePattern '.*' -TimeoutSec 5
|
||||
$explorerKind = 'existing shell taskbar (Shell_TrayWnd), read-only'
|
||||
}
|
||||
if ($explorerHandle -eq [IntPtr]::Zero) { throw 'no Explorer-owned window available for the cache-timing measurement' }
|
||||
$cache = Invoke-Shim -ExePath $shim -ShimArgs @('cache', '--hwnd', (ConvertTo-HandleHex $explorerHandle), '--label', 'explorer', '--max-nodes', '1500', '--reps', '5')
|
||||
$cacheCapture = [ordered]@{
|
||||
target = 'explorer.exe'
|
||||
targetKind = $explorerKind
|
||||
shim = $cache
|
||||
}
|
||||
Write-ProbeJson -Probe $Probe -Name 'cache-timing.json' -InputObject $cacheCapture | Out-Null
|
||||
$summary['cacheTimingMultiplier'] = $cache.result.timingMultiplier
|
||||
$summary['cacheClaimVerdict'] = $cache.result.claimVerdict
|
||||
|
||||
# --- walker shape on Obsidian -----------------------------------------
|
||||
$obsidianExe = Join-Path $env:LOCALAPPDATA 'Programs\Obsidian\Obsidian.exe'
|
||||
$obsidianPreexisting = $false
|
||||
$obsidianWindow = [IntPtr]::Zero
|
||||
$obsidianProcessId = 0
|
||||
$existing = @(Get-Process -Name 'Obsidian' -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowHandle -ne [IntPtr]::Zero })
|
||||
if ($existing.Count -gt 0) {
|
||||
$obsidianPreexisting = $true
|
||||
$obsidianWindow = $existing[0].MainWindowHandle
|
||||
$obsidianProcessId = $existing[0].Id
|
||||
Write-ProbeLog -Message 'Obsidian already running - walking the existing process read-only'
|
||||
} elseif (Test-Path -LiteralPath $obsidianExe) {
|
||||
$obs = Start-TrackedScratch -FilePath $obsidianExe -TimeoutSec 40
|
||||
$obsidianProcessId = $obs.ProcessId
|
||||
$script:ObsidianLaunched = $true
|
||||
$obsidianWindow = Find-ProbeWindow -ClassPattern '^Chrome_WidgetWin_1$' -TitlePattern 'Obsidian' -TimeoutSec 60
|
||||
Start-Sleep -Seconds 5
|
||||
}
|
||||
if ($obsidianWindow -eq [IntPtr]::Zero) {
|
||||
Write-ProbeLog -Message 'Obsidian window unavailable - walker mode falls back to the WinForms fixture' -Level 'warn'
|
||||
$fallback = Start-TrackedScratch -FilePath $scratchExe -ArgumentList @('--tag', 'u7-walker', '--pos', '40,40')
|
||||
$obsidianWindow = $fallback.MainWindowHandle
|
||||
$walkerTarget = 'winforms-scratch-fallback'
|
||||
} else {
|
||||
$walkerTarget = 'obsidian'
|
||||
}
|
||||
$walker = Invoke-Shim -ExePath $shim -ShimArgs @('walker', '--hwnd', (ConvertTo-HandleHex $obsidianWindow), '--label', $walkerTarget, '--max-nodes', '20000', '--max-depth', '60')
|
||||
$walkerCapture = [ordered]@{
|
||||
target = $walkerTarget
|
||||
obsidianPreexisting = $obsidianPreexisting
|
||||
obsidianVersion = ''
|
||||
shim = $walker
|
||||
}
|
||||
if (Test-Path -LiteralPath $obsidianExe) {
|
||||
$walkerCapture['obsidianVersion'] = (Get-Item -LiteralPath $obsidianExe).VersionInfo.ProductVersion
|
||||
}
|
||||
Write-ProbeJson -Probe $Probe -Name 'walker.json' -InputObject $walkerCapture | Out-Null
|
||||
foreach ($v in $walker.result.viewsAfterSettle) {
|
||||
$summary[('walker_' + $v.view)] = $v.nodeCount
|
||||
}
|
||||
|
||||
$summary['compiler'] = $cscVersion
|
||||
$message = 'uia3 com shim: census+comparison+events+cache+walker captured'
|
||||
} catch {
|
||||
$status = 'fail'
|
||||
$message = ($_.Exception.Message -replace '[\r\n]+', ' ')
|
||||
Write-ProbeLog -Message ('probe failed: ' + $message) -Level 'error'
|
||||
} finally {
|
||||
foreach ($w in @($script:ExplorerWindows)) {
|
||||
try {
|
||||
Initialize-Uia3Support
|
||||
[AgentDesktopProbe.Uia3Support]::Close($w)
|
||||
} catch { }
|
||||
}
|
||||
if ($script:ObsidianLaunched) {
|
||||
foreach ($p in @(Get-Process -Name 'Obsidian' -ErrorAction SilentlyContinue)) {
|
||||
try { Stop-Process -Id $p.Id -Force -ErrorAction Stop } catch { }
|
||||
}
|
||||
}
|
||||
foreach ($id in @($script:Spawned)) {
|
||||
try { Stop-ScratchProcess -ProcessId $id } catch { Write-ProbeLog -Message ('teardown: ' + $_.Exception.Message) -Level 'warn' }
|
||||
}
|
||||
foreach ($f in @(Get-ChildItem -LiteralPath (Get-CaptureDir -Probe $Probe) -File -ErrorAction SilentlyContinue)) {
|
||||
if ($f.Name -like '*.normalized') { continue }
|
||||
if (-not (Test-CaptureRedaction -Path $f.FullName)) { $status = 'fail'; $message = ('redaction residue in ' + $f.Name) }
|
||||
}
|
||||
}
|
||||
|
||||
Write-ProbeResult -Probe $Probe -Status $status -Message $message -Data $summary
|
||||
if ($status -eq 'fail') { exit 1 }
|
||||
exit 0
|
||||
31
probes/windows/captures/08-uia3-com/cache-timing.json
Normal file
31
probes/windows/captures/08-uia3-com/cache-timing.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"target": "explorer.exe",
|
||||
"targetKind": "probe-opened folder window (CabinetWClass) over %WINDIR%\\System32, closed in teardown",
|
||||
"shim": {
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 8356,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "cache",
|
||||
"label": "explorer",
|
||||
"hwnd": "0x3503aa",
|
||||
"nodeCount": 220,
|
||||
"propertiesPerNode": 8,
|
||||
"propertyNames": "Name,ControlType,AutomationId,ClassName,BoundingRectangle,IsEnabled,IsOffscreen,FrameworkId",
|
||||
"repetitions": 5,
|
||||
"perPropertyMs": 489.0013,
|
||||
"cachedMs": 181.4986,
|
||||
"timingPerPropertyFindMs": 117.3772,
|
||||
"timingCachedFindMs": 180.2522,
|
||||
"timingPerPropertyReadMs": 371.6241,
|
||||
"timingCachedReadMs": 1.2464,
|
||||
"timingReadPhaseMultiplier": 298.158,
|
||||
"timingMultiplier": 2.6942,
|
||||
"claimVerdict": "below-3x-claim",
|
||||
"claimChecked": "phases.md 3-5x batched-read speedup"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"target": "explorer.exe",
|
||||
"targetKind": "probe-opened folder window (CabinetWClass) over %WINDIR%\\System32, closed in teardown",
|
||||
"shim": {
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 8356,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "cache",
|
||||
"label": "explorer",
|
||||
"hwnd": "<hwnd>",
|
||||
"nodeCount": 220,
|
||||
"propertiesPerNode": 8,
|
||||
"propertyNames": "Name,ControlType,AutomationId,ClassName,BoundingRectangle,IsEnabled,IsOffscreen,FrameworkId",
|
||||
"repetitions": 5,
|
||||
"perPropertyMs": <duration>,
|
||||
"cachedMs": <duration>,
|
||||
"timingPerPropertyFindMs": <duration>,
|
||||
"timingCachedFindMs": <duration>,
|
||||
"timingPerPropertyReadMs": <duration>,
|
||||
"timingCachedReadMs": <duration>,
|
||||
"timingReadPhaseMultiplier": <duration>,
|
||||
"timingMultiplier": <duration>,
|
||||
"claimVerdict": "below-3x-claim",
|
||||
"claimChecked": "phases.md 3-5x batched-read speedup"
|
||||
}
|
||||
}
|
||||
}
|
||||
2230
probes/windows/captures/08-uia3-com/census.json
Normal file
2230
probes/windows/captures/08-uia3-com/census.json
Normal file
File diff suppressed because it is too large
Load diff
2230
probes/windows/captures/08-uia3-com/census.json.normalized
Normal file
2230
probes/windows/captures/08-uia3-com/census.json.normalized
Normal file
File diff suppressed because it is too large
Load diff
100
probes/windows/captures/08-uia3-com/comparison.json
Normal file
100
probes/windows/captures/08-uia3-com/comparison.json
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
{
|
||||
"question": "do UIA3 COM and managed System.Windows.Automation report the same pattern availability on this VM",
|
||||
"note": "COM rows are authoritative (KTD1); managed rows are a labeled non-authoritative cross-check",
|
||||
"com": [
|
||||
{
|
||||
"label": "winforms-default",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 35,
|
||||
"controlViewNodes": 35,
|
||||
"elementsWithAnyPattern": 35,
|
||||
"elementsWithAnyPatternExcludingLegacy": 11
|
||||
},
|
||||
{
|
||||
"label": "winforms-host-providers",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 46,
|
||||
"controlViewNodes": 46,
|
||||
"elementsWithAnyPattern": 46,
|
||||
"elementsWithAnyPatternExcludingLegacy": 37
|
||||
},
|
||||
{
|
||||
"label": "wpf",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 34,
|
||||
"controlViewNodes": 32,
|
||||
"elementsWithAnyPattern": 34,
|
||||
"elementsWithAnyPatternExcludingLegacy": 33
|
||||
},
|
||||
{
|
||||
"label": "notepad",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 26,
|
||||
"controlViewNodes": 26,
|
||||
"elementsWithAnyPattern": 26,
|
||||
"elementsWithAnyPatternExcludingLegacy": 18
|
||||
}
|
||||
],
|
||||
"managed": [
|
||||
{
|
||||
"label": "winforms-default",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 24,
|
||||
"elementsWithAnyPattern": 1,
|
||||
"controlTypes": {
|
||||
"Pane": 23,
|
||||
"Window": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "winforms-host-providers",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 26,
|
||||
"elementsWithAnyPattern": 3,
|
||||
"controlTypes": {
|
||||
"Text": 6,
|
||||
"ComboBox": 1,
|
||||
"Button": 1,
|
||||
"Window": 1,
|
||||
"Pane": 17
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "wpf",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 28,
|
||||
"elementsWithAnyPattern": 28,
|
||||
"controlTypes": {
|
||||
"CheckBox": 1,
|
||||
"Text": 9,
|
||||
"ComboBox": 1,
|
||||
"List": 1,
|
||||
"Button": 2,
|
||||
"Pane": 2,
|
||||
"Edit": 2,
|
||||
"Window": 1,
|
||||
"ListItem": 5,
|
||||
"ScrollBar": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "notepad",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 3,
|
||||
"elementsWithAnyPattern": 1,
|
||||
"controlTypes": {
|
||||
"Pane": 2,
|
||||
"Window": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"stacksDiverge": true
|
||||
}
|
||||
100
probes/windows/captures/08-uia3-com/comparison.json.normalized
Normal file
100
probes/windows/captures/08-uia3-com/comparison.json.normalized
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
{
|
||||
"question": "do UIA3 COM and managed System.Windows.Automation report the same pattern availability on this VM",
|
||||
"note": "COM rows are authoritative (KTD1); managed rows are a labeled non-authoritative cross-check",
|
||||
"com": [
|
||||
{
|
||||
"label": "winforms-default",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 35,
|
||||
"controlViewNodes": 35,
|
||||
"elementsWithAnyPattern": 35,
|
||||
"elementsWithAnyPatternExcludingLegacy": 11
|
||||
},
|
||||
{
|
||||
"label": "winforms-host-providers",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 46,
|
||||
"controlViewNodes": 46,
|
||||
"elementsWithAnyPattern": 46,
|
||||
"elementsWithAnyPatternExcludingLegacy": 37
|
||||
},
|
||||
{
|
||||
"label": "wpf",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 34,
|
||||
"controlViewNodes": 32,
|
||||
"elementsWithAnyPattern": 34,
|
||||
"elementsWithAnyPatternExcludingLegacy": 33
|
||||
},
|
||||
{
|
||||
"label": "notepad",
|
||||
"stack": "uia3-com",
|
||||
"authoritative": true,
|
||||
"rawViewNodes": 26,
|
||||
"controlViewNodes": 26,
|
||||
"elementsWithAnyPattern": 26,
|
||||
"elementsWithAnyPatternExcludingLegacy": 18
|
||||
}
|
||||
],
|
||||
"managed": [
|
||||
{
|
||||
"label": "winforms-default",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 24,
|
||||
"elementsWithAnyPattern": 1,
|
||||
"controlTypes": {
|
||||
"Pane": 23,
|
||||
"Window": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "winforms-host-providers",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 26,
|
||||
"elementsWithAnyPattern": 3,
|
||||
"controlTypes": {
|
||||
"Text": 6,
|
||||
"ComboBox": 1,
|
||||
"Button": 1,
|
||||
"Window": 1,
|
||||
"Pane": 17
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "wpf",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 28,
|
||||
"elementsWithAnyPattern": 28,
|
||||
"controlTypes": {
|
||||
"CheckBox": 1,
|
||||
"Text": 9,
|
||||
"ComboBox": 1,
|
||||
"List": 1,
|
||||
"Button": 2,
|
||||
"Pane": 2,
|
||||
"Edit": 2,
|
||||
"Window": 1,
|
||||
"ListItem": 5,
|
||||
"ScrollBar": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "notepad",
|
||||
"stack": "managed-System.Windows.Automation",
|
||||
"authoritative": false,
|
||||
"rawViewNodes": 3,
|
||||
"elementsWithAnyPattern": 1,
|
||||
"controlTypes": {
|
||||
"Pane": 2,
|
||||
"Window": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"stacksDiverge": true
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
{
|
||||
"question": "what makes RemoveXEventHandler on the MTA worker block for tens of seconds",
|
||||
"method": "same 20-repetition drive loop with one action class removed at a time; teardown timed per handler on the registering thread",
|
||||
"arms": [
|
||||
{
|
||||
"arm": "full drive loop (value + click + focus + window hide/show), property reads inside callbacks",
|
||||
"driveActions": "vcfw",
|
||||
"cheapCallbacks": false,
|
||||
"totalEvents": 557,
|
||||
"quiescentTeardownElapsedMs": 86184.2359,
|
||||
"inflightTeardownElapsedMs": 72.4894,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": 8487.4945
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": 9586.8329
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": 10374.2025
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": 21078.9415
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": 26631.8655
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": 9999.5944
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": 22.8593
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"arm": "no window hide/show (value + click + focus only)",
|
||||
"driveActions": "vcf",
|
||||
"cheapCallbacks": false,
|
||||
"totalEvents": 532,
|
||||
"quiescentTeardownElapsedMs": 63.7518,
|
||||
"inflightTeardownElapsedMs": 69.5929,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": 15.1329
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": 8.0778
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": 6.9446
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": 6.8124
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": 6.6948
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": 8.4991
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": 9.3746
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"arm": "window hide/show only, with callbacks that do no property reads",
|
||||
"driveActions": "w",
|
||||
"cheapCallbacks": true,
|
||||
"totalEvents": 490,
|
||||
"quiescentTeardownElapsedMs": 22757.3847,
|
||||
"inflightTeardownElapsedMs": 99.6363,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": 2521.5184
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": 2480.4681
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": 2515.5508
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": 5928.1936
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": 7430.8029
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": 1864.7159
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": 13.6723
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
{
|
||||
"question": "what makes RemoveXEventHandler on the MTA worker block for tens of seconds",
|
||||
"method": "same 20-repetition drive loop with one action class removed at a time; teardown timed per handler on the registering thread",
|
||||
"arms": [
|
||||
{
|
||||
"arm": "full drive loop (value + click + focus + window hide/show), property reads inside callbacks",
|
||||
"driveActions": "vcfw",
|
||||
"cheapCallbacks": false,
|
||||
"totalEvents": 557,
|
||||
"quiescentTeardownElapsedMs": 86184.2359,
|
||||
"inflightTeardownElapsedMs": 72.4894,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"arm": "no window hide/show (value + click + focus only)",
|
||||
"driveActions": "vcf",
|
||||
"cheapCallbacks": false,
|
||||
"totalEvents": 532,
|
||||
"quiescentTeardownElapsedMs": 63.7518,
|
||||
"inflightTeardownElapsedMs": 69.5929,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"arm": "window hide/show only, with callbacks that do no property reads",
|
||||
"driveActions": "w",
|
||||
"cheapCallbacks": true,
|
||||
"totalEvents": 490,
|
||||
"quiescentTeardownElapsedMs": 22757.3847,
|
||||
"inflightTeardownElapsedMs": 99.6363,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
804
probes/windows/captures/08-uia3-com/events.json
Normal file
804
probes/windows/captures/08-uia3-com/events.json
Normal file
|
|
@ -0,0 +1,804 @@
|
|||
{
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 2868,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "events",
|
||||
"repetitions": 20,
|
||||
"cheapCallbacks": false,
|
||||
"driveActions": "vcfw",
|
||||
"callbackWork": "reads AutomationId+ControlType+ProcessId on sender inside the callback",
|
||||
"targetHwnd": "0x1800e6",
|
||||
"targetProcessId": 6008,
|
||||
"workerThreadId": 7552,
|
||||
"workerApartment": "MTA",
|
||||
"watchedProperties": "Name=30005,ValuePattern.Value=30045,TogglePattern.ToggleState=30086,HasKeyboardFocus=30008,RangeValuePattern.Value=30047",
|
||||
"totalEvents": 557,
|
||||
"distinctEventThreadCount": 4,
|
||||
"eventThreadsDistinctFromMain": true,
|
||||
"eventThreadsDistinctFromWorker": false,
|
||||
"kindTotals": {
|
||||
"AutomationEvent:Window_WindowClosed": 10,
|
||||
"AutomationEvent:Window_WindowOpened": 7,
|
||||
"FocusChanged": 42,
|
||||
"PropertyChanged:Name": 180,
|
||||
"PropertyChanged:ValuePattern.Value": 318
|
||||
},
|
||||
"orderingStableAcrossReps": false,
|
||||
"distinctOrderingSignatures": 6,
|
||||
"orderingStableExcludingWindowEvents": true,
|
||||
"distinctCoreOrderingSignatures": 1,
|
||||
"orderingPerRep": [
|
||||
{
|
||||
"rep": 0,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 1,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 2,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 3,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 4,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 5,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eAutomationEvent:Window_WindowOpened\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 6,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 7,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowOpened\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 8,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 9,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 10,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 11,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 12,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 13,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 14,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 15,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 16,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 17,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 18,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 19,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eAutomationEvent:Window_WindowOpened\u003eAutomationEvent:Window_WindowClosed\u003eFocusChanged"
|
||||
}
|
||||
],
|
||||
"quiescentTeardownCompleted": true,
|
||||
"quiescentTeardownElapsedMs": 86184.2359,
|
||||
"inflightTeardownCompletedUnderLoad": true,
|
||||
"inflightTeardownCompletedOnlyAfterLoadStopped": false,
|
||||
"inflightTeardownElapsedMs": 72.4894,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": 8487.4945
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": 9586.8329
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": 10374.2025
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": 21078.9415
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": 26631.8655
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": 9999.5944
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": 22.8593
|
||||
}
|
||||
],
|
||||
"inflightTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": 16.061
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": 9.7971
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": 8.9853
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": 7.219
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": 10.198
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": 9.2494
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": 10.7618
|
||||
}
|
||||
],
|
||||
"inflightEventBacklogAtTeardown": 296,
|
||||
"eventsDuringTeardownWindow": 300,
|
||||
"workerErrors": "",
|
||||
"sample": [
|
||||
{
|
||||
"seq": 0,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 7552,
|
||||
"elapsedMs": 67.4963,
|
||||
"senderAutomationId": "ImmersiveBackground",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": false
|
||||
},
|
||||
{
|
||||
"seq": 1,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 490.1137,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 2,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 494.1919,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 3,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 614.3486,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 4,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 618.5844,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 5,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 623.4841,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 6,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 627.1939,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 7,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 735.2428,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 8,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 739.2361,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 9,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 744.2327,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 10,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 748.1971,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 11,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 875.5431,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 12,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 961.8247,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 13,
|
||||
"rep": 0,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 1088.459,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 14,
|
||||
"rep": 0,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 1265.5937,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 15,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1505.3898,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 16,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1509.2421,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 17,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1632.2378,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 18,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1636.2579,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 19,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1641.7355,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 20,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1646.048,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 21,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1756.7018,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 22,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1760.3131,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 23,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1765.7302,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 24,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1770.3826,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 25,
|
||||
"rep": 1,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1883.1211,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 26,
|
||||
"rep": 1,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 1977.1086,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 27,
|
||||
"rep": 1,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 2098.8285,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 28,
|
||||
"rep": 1,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 2298.7174,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 29,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2530.6733,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 30,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2534.6218,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 31,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2659.1352,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 32,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2664.3413,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 33,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2670.6957,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 34,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2675.2406,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 35,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2781.5169,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 36,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2785.6152,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 37,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2790.5206,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 38,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2794.4832,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 39,
|
||||
"rep": 2,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 2907.7323,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 40,
|
||||
"rep": 2,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3002.2669,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 41,
|
||||
"rep": 2,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 3123.6855,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 42,
|
||||
"rep": 2,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 3371.1046,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 43,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3546.4762,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 44,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3550.5912,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 45,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3673.1608,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 46,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3677.3123,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 47,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3682.663,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 48,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3686.991,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 49,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3798.1253,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 50,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3802.3073,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 51,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3807.9026,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 52,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3811.8923,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 53,
|
||||
"rep": 3,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 3924.1694,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 54,
|
||||
"rep": 3,
|
||||
"label": "FocusChanged",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 4019.1518,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 55,
|
||||
"rep": 3,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 4151.8203,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 56,
|
||||
"rep": 3,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": 4128,
|
||||
"elapsedMs": 4527.8027,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 57,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 4577.7505,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 58,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 4581.5118,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 59,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": 6336,
|
||||
"elapsedMs": 4704.5109,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
804
probes/windows/captures/08-uia3-com/events.json.normalized
Normal file
804
probes/windows/captures/08-uia3-com/events.json.normalized
Normal file
|
|
@ -0,0 +1,804 @@
|
|||
{
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 2868,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "events",
|
||||
"repetitions": 20,
|
||||
"cheapCallbacks": false,
|
||||
"driveActions": "vcfw",
|
||||
"callbackWork": "reads AutomationId+ControlType+ProcessId on sender inside the callback",
|
||||
"targetHwnd": "0x1800e6",
|
||||
"targetProcessId": 6008,
|
||||
"workerThreadId": 7552,
|
||||
"workerApartment": "MTA",
|
||||
"watchedProperties": "Name=30005,ValuePattern.Value=30045,TogglePattern.ToggleState=30086,HasKeyboardFocus=30008,RangeValuePattern.Value=30047",
|
||||
"totalEvents": 557,
|
||||
"distinctEventThreadCount": 4,
|
||||
"eventThreadsDistinctFromMain": true,
|
||||
"eventThreadsDistinctFromWorker": false,
|
||||
"kindTotals": {
|
||||
"AutomationEvent:Window_WindowClosed": 10,
|
||||
"AutomationEvent:Window_WindowOpened": 7,
|
||||
"FocusChanged": 42,
|
||||
"PropertyChanged:Name": 180,
|
||||
"PropertyChanged:ValuePattern.Value": 318
|
||||
},
|
||||
"orderingStableAcrossReps": false,
|
||||
"distinctOrderingSignatures": 6,
|
||||
"orderingStableExcludingWindowEvents": true,
|
||||
"distinctCoreOrderingSignatures": 1,
|
||||
"orderingPerRep": [
|
||||
{
|
||||
"rep": 0,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 1,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 2,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 3,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed\u003eAutomationEvent:Window_WindowOpened"
|
||||
},
|
||||
{
|
||||
"rep": 4,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 5,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eAutomationEvent:Window_WindowOpened\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 6,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 7,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged\u003eAutomationEvent:Window_WindowOpened\u003eAutomationEvent:Window_WindowClosed"
|
||||
},
|
||||
{
|
||||
"rep": 8,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 9,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 10,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 11,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 12,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 13,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 14,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 15,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 16,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 17,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 18,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eFocusChanged"
|
||||
},
|
||||
{
|
||||
"rep": 19,
|
||||
"sequence": "PropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:Name\u003ePropertyChanged:Name\u003ePropertyChanged:ValuePattern.Value\u003ePropertyChanged:ValuePattern.Value\u003eFocusChanged\u003eAutomationEvent:Window_WindowOpened\u003eAutomationEvent:Window_WindowClosed\u003eFocusChanged"
|
||||
}
|
||||
],
|
||||
"quiescentTeardownCompleted": true,
|
||||
"quiescentTeardownElapsedMs": 86184.2359,
|
||||
"inflightTeardownCompletedUnderLoad": true,
|
||||
"inflightTeardownCompletedOnlyAfterLoadStopped": false,
|
||||
"inflightTeardownElapsedMs": 72.4894,
|
||||
"quiescentTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
],
|
||||
"inflightTeardownPerHandler": [
|
||||
{
|
||||
"handler": "Invoke_Invoked",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Text_TextChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "SelectionItem_ElementSelected",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowOpened",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "Window_WindowClosed",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "PropertyChanged",
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"handler": "FocusChanged",
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
],
|
||||
"inflightEventBacklogAtTeardown": 296,
|
||||
"eventsDuringTeardownWindow": 300,
|
||||
"workerErrors": "",
|
||||
"sample": [
|
||||
{
|
||||
"seq": 0,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "ImmersiveBackground",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": false
|
||||
},
|
||||
{
|
||||
"seq": 1,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 2,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 3,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 4,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 5,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 6,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 7,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 8,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 9,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 10,
|
||||
"rep": 0,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 11,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 12,
|
||||
"rep": 0,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 13,
|
||||
"rep": 0,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 14,
|
||||
"rep": 0,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 15,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 16,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 17,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 18,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 19,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 20,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 21,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 22,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 23,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 24,
|
||||
"rep": 1,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 25,
|
||||
"rep": 1,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 26,
|
||||
"rep": 1,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 27,
|
||||
"rep": 1,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 28,
|
||||
"rep": 1,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 29,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 30,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 31,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 32,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 33,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 34,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 35,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 36,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 37,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 38,
|
||||
"rep": 2,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 39,
|
||||
"rep": 2,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 40,
|
||||
"rep": 2,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 41,
|
||||
"rep": 2,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 42,
|
||||
"rep": 2,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 43,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 44,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 45,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 46,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
},
|
||||
{
|
||||
"seq": 47,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 48,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 49,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 50,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "chkToggle",
|
||||
"senderControlType": "CheckBox",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Enable feature"
|
||||
},
|
||||
{
|
||||
"seq": 51,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 52,
|
||||
"rep": 3,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtStatusMirror",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 53,
|
||||
"rep": 3,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 54,
|
||||
"rep": 3,
|
||||
"label": "FocusChanged",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 55,
|
||||
"rep": 3,
|
||||
"label": "AutomationEvent:Window_WindowClosed",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 56,
|
||||
"rep": 3,
|
||||
"label": "AutomationEvent:Window_WindowOpened",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "frmScratchMain",
|
||||
"senderControlType": "Window",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 57,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 58,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:ValuePattern.Value",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "txtValue",
|
||||
"senderControlType": "Edit",
|
||||
"senderIsTarget": true
|
||||
},
|
||||
{
|
||||
"seq": 59,
|
||||
"rep": 4,
|
||||
"label": "PropertyChanged:Name",
|
||||
"threadId": <tid>,
|
||||
"elapsedMs": <duration>,
|
||||
"senderAutomationId": "btnAction",
|
||||
"senderControlType": "Button",
|
||||
"senderIsTarget": true,
|
||||
"newValue": "Do Action"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
893
probes/windows/captures/08-uia3-com/ids.json
Normal file
893
probes/windows/captures/08-uia3-com/ids.json
Normal file
|
|
@ -0,0 +1,893 @@
|
|||
{
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 4424,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "ids",
|
||||
"propertyCount": 175,
|
||||
"properties": [
|
||||
{
|
||||
"id": 30000,
|
||||
"programmaticName": "RuntimeId"
|
||||
},
|
||||
{
|
||||
"id": 30001,
|
||||
"programmaticName": "BoundingRectangle"
|
||||
},
|
||||
{
|
||||
"id": 30002,
|
||||
"programmaticName": "ProcessId"
|
||||
},
|
||||
{
|
||||
"id": 30003,
|
||||
"programmaticName": "ControlType"
|
||||
},
|
||||
{
|
||||
"id": 30004,
|
||||
"programmaticName": "LocalizedControlType"
|
||||
},
|
||||
{
|
||||
"id": 30005,
|
||||
"programmaticName": "Name"
|
||||
},
|
||||
{
|
||||
"id": 30006,
|
||||
"programmaticName": "AcceleratorKey"
|
||||
},
|
||||
{
|
||||
"id": 30007,
|
||||
"programmaticName": "AccessKey"
|
||||
},
|
||||
{
|
||||
"id": 30008,
|
||||
"programmaticName": "HasKeyboardFocus"
|
||||
},
|
||||
{
|
||||
"id": 30009,
|
||||
"programmaticName": "IsKeyboardFocusable"
|
||||
},
|
||||
{
|
||||
"id": 30010,
|
||||
"programmaticName": "IsEnabled"
|
||||
},
|
||||
{
|
||||
"id": 30011,
|
||||
"programmaticName": "AutomationId"
|
||||
},
|
||||
{
|
||||
"id": 30012,
|
||||
"programmaticName": "ClassName"
|
||||
},
|
||||
{
|
||||
"id": 30013,
|
||||
"programmaticName": "HelpText"
|
||||
},
|
||||
{
|
||||
"id": 30014,
|
||||
"programmaticName": "ClickablePoint"
|
||||
},
|
||||
{
|
||||
"id": 30015,
|
||||
"programmaticName": "Culture"
|
||||
},
|
||||
{
|
||||
"id": 30016,
|
||||
"programmaticName": "IsControlElement"
|
||||
},
|
||||
{
|
||||
"id": 30017,
|
||||
"programmaticName": "IsContentElement"
|
||||
},
|
||||
{
|
||||
"id": 30018,
|
||||
"programmaticName": "LabeledBy"
|
||||
},
|
||||
{
|
||||
"id": 30019,
|
||||
"programmaticName": "IsPassword"
|
||||
},
|
||||
{
|
||||
"id": 30020,
|
||||
"programmaticName": "NativeWindowHandle"
|
||||
},
|
||||
{
|
||||
"id": 30021,
|
||||
"programmaticName": "ItemType"
|
||||
},
|
||||
{
|
||||
"id": 30022,
|
||||
"programmaticName": "IsOffscreen"
|
||||
},
|
||||
{
|
||||
"id": 30023,
|
||||
"programmaticName": "Orientation"
|
||||
},
|
||||
{
|
||||
"id": 30024,
|
||||
"programmaticName": "FrameworkId"
|
||||
},
|
||||
{
|
||||
"id": 30025,
|
||||
"programmaticName": "IsRequiredForForm"
|
||||
},
|
||||
{
|
||||
"id": 30026,
|
||||
"programmaticName": "ItemStatus"
|
||||
},
|
||||
{
|
||||
"id": 30027,
|
||||
"programmaticName": "IsDockPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30028,
|
||||
"programmaticName": "IsExpandCollapsePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30029,
|
||||
"programmaticName": "IsGridItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30030,
|
||||
"programmaticName": "IsGridPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30031,
|
||||
"programmaticName": "IsInvokePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30032,
|
||||
"programmaticName": "IsMultipleViewPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30033,
|
||||
"programmaticName": "IsRangeValuePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30034,
|
||||
"programmaticName": "IsScrollPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30035,
|
||||
"programmaticName": "IsScrollItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30036,
|
||||
"programmaticName": "IsSelectionItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30037,
|
||||
"programmaticName": "IsSelectionPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30038,
|
||||
"programmaticName": "IsTablePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30039,
|
||||
"programmaticName": "IsTableItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30040,
|
||||
"programmaticName": "IsTextPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30041,
|
||||
"programmaticName": "IsTogglePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30042,
|
||||
"programmaticName": "IsTransformPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30043,
|
||||
"programmaticName": "IsValuePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30044,
|
||||
"programmaticName": "IsWindowPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30045,
|
||||
"programmaticName": "ValuePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30046,
|
||||
"programmaticName": "ValuePattern.IsReadOnly"
|
||||
},
|
||||
{
|
||||
"id": 30047,
|
||||
"programmaticName": "RangeValuePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30048,
|
||||
"programmaticName": "RangeValuePattern.IsReadOnly"
|
||||
},
|
||||
{
|
||||
"id": 30049,
|
||||
"programmaticName": "RangeValuePattern.Minimum"
|
||||
},
|
||||
{
|
||||
"id": 30050,
|
||||
"programmaticName": "RangeValuePattern.Maximum"
|
||||
},
|
||||
{
|
||||
"id": 30051,
|
||||
"programmaticName": "RangeValuePattern.LargeChange"
|
||||
},
|
||||
{
|
||||
"id": 30052,
|
||||
"programmaticName": "RangeValuePattern.SmallChange"
|
||||
},
|
||||
{
|
||||
"id": 30053,
|
||||
"programmaticName": "ScrollPattern.HorizontalScrollPercent"
|
||||
},
|
||||
{
|
||||
"id": 30054,
|
||||
"programmaticName": "ScrollPattern.HorizontalViewSize"
|
||||
},
|
||||
{
|
||||
"id": 30055,
|
||||
"programmaticName": "ScrollPattern.VerticalScrollPercent"
|
||||
},
|
||||
{
|
||||
"id": 30056,
|
||||
"programmaticName": "ScrollPattern.VerticalViewSize"
|
||||
},
|
||||
{
|
||||
"id": 30057,
|
||||
"programmaticName": "ScrollPattern.HorizontallyScrollable"
|
||||
},
|
||||
{
|
||||
"id": 30058,
|
||||
"programmaticName": "ScrollPattern.VerticallyScrollable"
|
||||
},
|
||||
{
|
||||
"id": 30059,
|
||||
"programmaticName": "SelectionPattern.Selection"
|
||||
},
|
||||
{
|
||||
"id": 30060,
|
||||
"programmaticName": "SelectionPattern.CanSelectMultiple"
|
||||
},
|
||||
{
|
||||
"id": 30061,
|
||||
"programmaticName": "SelectionPattern.IsSelectionRequired"
|
||||
},
|
||||
{
|
||||
"id": 30062,
|
||||
"programmaticName": "GridPattern.RowCount"
|
||||
},
|
||||
{
|
||||
"id": 30063,
|
||||
"programmaticName": "GridPattern.ColumnCount"
|
||||
},
|
||||
{
|
||||
"id": 30064,
|
||||
"programmaticName": "GridItemPattern.Row"
|
||||
},
|
||||
{
|
||||
"id": 30065,
|
||||
"programmaticName": "GridItemPattern.Column"
|
||||
},
|
||||
{
|
||||
"id": 30066,
|
||||
"programmaticName": "GridItemPattern.RowSpan"
|
||||
},
|
||||
{
|
||||
"id": 30067,
|
||||
"programmaticName": "GridItemPattern.ColumnSpan"
|
||||
},
|
||||
{
|
||||
"id": 30068,
|
||||
"programmaticName": "GridItemPattern.Parent"
|
||||
},
|
||||
{
|
||||
"id": 30069,
|
||||
"programmaticName": "DockPattern.DockPosition"
|
||||
},
|
||||
{
|
||||
"id": 30070,
|
||||
"programmaticName": "ExpandCollapsePattern.ExpandCollapseState"
|
||||
},
|
||||
{
|
||||
"id": 30071,
|
||||
"programmaticName": "MultipleViewPattern.CurrentView"
|
||||
},
|
||||
{
|
||||
"id": 30072,
|
||||
"programmaticName": "MultipleViewPattern.SupportedViews"
|
||||
},
|
||||
{
|
||||
"id": 30073,
|
||||
"programmaticName": "WindowPattern.CanMaximize"
|
||||
},
|
||||
{
|
||||
"id": 30074,
|
||||
"programmaticName": "WindowPattern.CanMinimize"
|
||||
},
|
||||
{
|
||||
"id": 30075,
|
||||
"programmaticName": "WindowPattern.WindowVisualState"
|
||||
},
|
||||
{
|
||||
"id": 30076,
|
||||
"programmaticName": "WindowPattern.WindowInteractionState"
|
||||
},
|
||||
{
|
||||
"id": 30077,
|
||||
"programmaticName": "WindowPattern.IsModal"
|
||||
},
|
||||
{
|
||||
"id": 30078,
|
||||
"programmaticName": "WindowPattern.IsTopmost"
|
||||
},
|
||||
{
|
||||
"id": 30079,
|
||||
"programmaticName": "SelectionItemPattern.IsSelected"
|
||||
},
|
||||
{
|
||||
"id": 30080,
|
||||
"programmaticName": "SelectionItemPattern.SelectionContainer"
|
||||
},
|
||||
{
|
||||
"id": 30081,
|
||||
"programmaticName": "TablePattern.RowHeaders"
|
||||
},
|
||||
{
|
||||
"id": 30082,
|
||||
"programmaticName": "TablePattern.ColumnHeaders"
|
||||
},
|
||||
{
|
||||
"id": 30083,
|
||||
"programmaticName": "TablePattern.RowOrColumnMajor"
|
||||
},
|
||||
{
|
||||
"id": 30084,
|
||||
"programmaticName": "TableItemPattern.RowHeaderItems"
|
||||
},
|
||||
{
|
||||
"id": 30085,
|
||||
"programmaticName": "TableItemPattern.ColumnHeaderItems"
|
||||
},
|
||||
{
|
||||
"id": 30086,
|
||||
"programmaticName": "TogglePattern.ToggleState"
|
||||
},
|
||||
{
|
||||
"id": 30087,
|
||||
"programmaticName": "TransformPattern.CanMove"
|
||||
},
|
||||
{
|
||||
"id": 30088,
|
||||
"programmaticName": "TransformPattern.CanResize"
|
||||
},
|
||||
{
|
||||
"id": 30089,
|
||||
"programmaticName": "TransformPattern.CanRotate"
|
||||
},
|
||||
{
|
||||
"id": 30090,
|
||||
"programmaticName": "IsLegacyIAccessiblePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30091,
|
||||
"programmaticName": "LegacyIAccessiblePattern.ChildId"
|
||||
},
|
||||
{
|
||||
"id": 30092,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Name"
|
||||
},
|
||||
{
|
||||
"id": 30093,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30094,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Description"
|
||||
},
|
||||
{
|
||||
"id": 30095,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Role"
|
||||
},
|
||||
{
|
||||
"id": 30096,
|
||||
"programmaticName": "LegacyIAccessiblePattern.State"
|
||||
},
|
||||
{
|
||||
"id": 30097,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Help"
|
||||
},
|
||||
{
|
||||
"id": 30098,
|
||||
"programmaticName": "LegacyIAccessiblePattern.KeyboardShortcut"
|
||||
},
|
||||
{
|
||||
"id": 30099,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Selection"
|
||||
},
|
||||
{
|
||||
"id": 30100,
|
||||
"programmaticName": "LegacyIAccessiblePattern.DefaultAction"
|
||||
},
|
||||
{
|
||||
"id": 30101,
|
||||
"programmaticName": "AriaRole"
|
||||
},
|
||||
{
|
||||
"id": 30102,
|
||||
"programmaticName": "AriaProperties"
|
||||
},
|
||||
{
|
||||
"id": 30103,
|
||||
"programmaticName": "IsDataValidForForm"
|
||||
},
|
||||
{
|
||||
"id": 30104,
|
||||
"programmaticName": "ControllerFor"
|
||||
},
|
||||
{
|
||||
"id": 30105,
|
||||
"programmaticName": "DescribedBy"
|
||||
},
|
||||
{
|
||||
"id": 30106,
|
||||
"programmaticName": "FlowsTo"
|
||||
},
|
||||
{
|
||||
"id": 30107,
|
||||
"programmaticName": "ProviderDescription"
|
||||
},
|
||||
{
|
||||
"id": 30108,
|
||||
"programmaticName": "IsItemContainerPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30109,
|
||||
"programmaticName": "IsVirtualizedItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30110,
|
||||
"programmaticName": "IsSynchronizedInputPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30111,
|
||||
"programmaticName": "OptimizeForVisualContent"
|
||||
},
|
||||
{
|
||||
"id": 30112,
|
||||
"programmaticName": "IsObjectModelPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30113,
|
||||
"programmaticName": "AnnotationPattern.AnnotationTypeId"
|
||||
},
|
||||
{
|
||||
"id": 30114,
|
||||
"programmaticName": "AnnotationPattern.AnnotationTypeName"
|
||||
},
|
||||
{
|
||||
"id": 30115,
|
||||
"programmaticName": "AnnotationPattern.Author"
|
||||
},
|
||||
{
|
||||
"id": 30116,
|
||||
"programmaticName": "AnnotationPattern.DateTime"
|
||||
},
|
||||
{
|
||||
"id": 30117,
|
||||
"programmaticName": "AnnotationPattern.Target"
|
||||
},
|
||||
{
|
||||
"id": 30118,
|
||||
"programmaticName": "IsAnnotationPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30119,
|
||||
"programmaticName": "IsTextPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30120,
|
||||
"programmaticName": "StylesPattern.StyleId"
|
||||
},
|
||||
{
|
||||
"id": 30121,
|
||||
"programmaticName": "StylesPattern.StyleName"
|
||||
},
|
||||
{
|
||||
"id": 30122,
|
||||
"programmaticName": "StylesPattern.FillColor"
|
||||
},
|
||||
{
|
||||
"id": 30123,
|
||||
"programmaticName": "StylesPattern.FillPatternStyle"
|
||||
},
|
||||
{
|
||||
"id": 30124,
|
||||
"programmaticName": "StylesPattern.Shape"
|
||||
},
|
||||
{
|
||||
"id": 30125,
|
||||
"programmaticName": "StylesPattern.FillPatternColor"
|
||||
},
|
||||
{
|
||||
"id": 30126,
|
||||
"programmaticName": "StylesPattern.ExtendedProperties"
|
||||
},
|
||||
{
|
||||
"id": 30127,
|
||||
"programmaticName": "IsStylesPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30128,
|
||||
"programmaticName": "IsSpreadsheetPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30129,
|
||||
"programmaticName": "SpreadsheetItemPattern.Formula"
|
||||
},
|
||||
{
|
||||
"id": 30130,
|
||||
"programmaticName": "SpreadsheetItemPattern.AnnotationObjects"
|
||||
},
|
||||
{
|
||||
"id": 30131,
|
||||
"programmaticName": "SpreadsheetItemPattern.AnnotationTypes"
|
||||
},
|
||||
{
|
||||
"id": 30132,
|
||||
"programmaticName": "IsSpreadsheetItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30133,
|
||||
"programmaticName": "TransformPattern2.CanZoom"
|
||||
},
|
||||
{
|
||||
"id": 30134,
|
||||
"programmaticName": "IsTransformPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30135,
|
||||
"programmaticName": "LiveSetting"
|
||||
},
|
||||
{
|
||||
"id": 30136,
|
||||
"programmaticName": "IsTextChildPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30137,
|
||||
"programmaticName": "IsDragPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30138,
|
||||
"programmaticName": "Drag.IsGrabbed"
|
||||
},
|
||||
{
|
||||
"id": 30139,
|
||||
"programmaticName": "Drag.DropEffect"
|
||||
},
|
||||
{
|
||||
"id": 30140,
|
||||
"programmaticName": "Drag.DropEffects"
|
||||
},
|
||||
{
|
||||
"id": 30141,
|
||||
"programmaticName": "IsDropTargetPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30142,
|
||||
"programmaticName": "DropTarget.DropTargetEffect"
|
||||
},
|
||||
{
|
||||
"id": 30143,
|
||||
"programmaticName": "DropTarget.DropTargetEffects"
|
||||
},
|
||||
{
|
||||
"id": 30144,
|
||||
"programmaticName": "Drag.GrabbedItems"
|
||||
},
|
||||
{
|
||||
"id": 30145,
|
||||
"programmaticName": "TransformPattern2.ZoomLevel"
|
||||
},
|
||||
{
|
||||
"id": 30146,
|
||||
"programmaticName": "TransformPattern2.ZoomMinimum"
|
||||
},
|
||||
{
|
||||
"id": 30147,
|
||||
"programmaticName": "TransformPattern2.ZoomMaximum"
|
||||
},
|
||||
{
|
||||
"id": 30148,
|
||||
"programmaticName": "FlowsFrom"
|
||||
},
|
||||
{
|
||||
"id": 30149,
|
||||
"programmaticName": "IsTextEditPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30150,
|
||||
"programmaticName": "IsPeripheral"
|
||||
},
|
||||
{
|
||||
"id": 30151,
|
||||
"programmaticName": "IsCustomNavigationPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30152,
|
||||
"programmaticName": "PositionInSet"
|
||||
},
|
||||
{
|
||||
"id": 30153,
|
||||
"programmaticName": "SizeOfSet"
|
||||
},
|
||||
{
|
||||
"id": 30154,
|
||||
"programmaticName": "Level"
|
||||
},
|
||||
{
|
||||
"id": 30155,
|
||||
"programmaticName": "AnnotationTypes"
|
||||
},
|
||||
{
|
||||
"id": 30156,
|
||||
"programmaticName": "AnnotationObjects"
|
||||
},
|
||||
{
|
||||
"id": 30157,
|
||||
"programmaticName": "LandmarkType"
|
||||
},
|
||||
{
|
||||
"id": 30158,
|
||||
"programmaticName": "LocalizedLandmarkType"
|
||||
},
|
||||
{
|
||||
"id": 30159,
|
||||
"programmaticName": "FullDescription"
|
||||
},
|
||||
{
|
||||
"id": 30160,
|
||||
"programmaticName": "FillColor"
|
||||
},
|
||||
{
|
||||
"id": 30161,
|
||||
"programmaticName": "OutlineColor"
|
||||
},
|
||||
{
|
||||
"id": 30162,
|
||||
"programmaticName": "FillType"
|
||||
},
|
||||
{
|
||||
"id": 30163,
|
||||
"programmaticName": "VisualEffects"
|
||||
},
|
||||
{
|
||||
"id": 30164,
|
||||
"programmaticName": "OutlineThickness"
|
||||
},
|
||||
{
|
||||
"id": 30165,
|
||||
"programmaticName": "CenterPoint"
|
||||
},
|
||||
{
|
||||
"id": 30166,
|
||||
"programmaticName": "Rotation"
|
||||
},
|
||||
{
|
||||
"id": 30167,
|
||||
"programmaticName": "Size"
|
||||
},
|
||||
{
|
||||
"id": 30168,
|
||||
"programmaticName": "IsSelectionPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30169,
|
||||
"programmaticName": "Selection2.FirstSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30170,
|
||||
"programmaticName": "Selection2.LastSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30171,
|
||||
"programmaticName": "Selection2.CurrentSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30172,
|
||||
"programmaticName": "Selection2.ItemCount"
|
||||
},
|
||||
{
|
||||
"id": 30173,
|
||||
"programmaticName": "HeadingLevel"
|
||||
},
|
||||
{
|
||||
"id": 30174,
|
||||
"programmaticName": "IsDialog"
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"10000=InvokePattern",
|
||||
"10001=SelectionPattern",
|
||||
"10002=ValuePattern",
|
||||
"10003=RangeValuePattern",
|
||||
"10004=ScrollPattern",
|
||||
"10005=ExpandCollapsePattern",
|
||||
"10006=GridPattern",
|
||||
"10007=GridItemPattern",
|
||||
"10008=MultipleViewPattern",
|
||||
"10009=WindowPattern",
|
||||
"10010=SelectionItemPattern",
|
||||
"10011=DockPattern",
|
||||
"10012=TablePattern",
|
||||
"10013=TableItemPattern",
|
||||
"10014=TextPattern",
|
||||
"10015=TogglePattern",
|
||||
"10016=TransformPattern",
|
||||
"10017=ScrollItemPattern",
|
||||
"10018=LegacyIAccessiblePattern",
|
||||
"10019=ItemContainerPattern",
|
||||
"10020=VirtualizedItemPattern",
|
||||
"10021=SynchronizedInputPattern",
|
||||
"10022=ObjectModelPattern",
|
||||
"10023=AnnotationPattern",
|
||||
"10024=TextPattern2",
|
||||
"10025=StylesPattern",
|
||||
"10026=SpreadsheetPattern",
|
||||
"10027=SpreadsheetItemPattern",
|
||||
"10028=TransformPattern2",
|
||||
"10029=TextChildPattern",
|
||||
"10030=DragPattern",
|
||||
"10031=DropTargetPattern",
|
||||
"10032=TextEditPattern",
|
||||
"10033=CustomNavigationPattern",
|
||||
"10034=SelectionPattern2"
|
||||
],
|
||||
"patternAvailabilityProperties": [
|
||||
{
|
||||
"pattern": "Annotation",
|
||||
"availabilityPropertyId": 30118
|
||||
},
|
||||
{
|
||||
"pattern": "CustomNavigation",
|
||||
"availabilityPropertyId": 30151
|
||||
},
|
||||
{
|
||||
"pattern": "Dock",
|
||||
"availabilityPropertyId": 30027
|
||||
},
|
||||
{
|
||||
"pattern": "Drag",
|
||||
"availabilityPropertyId": 30137
|
||||
},
|
||||
{
|
||||
"pattern": "DropTarget",
|
||||
"availabilityPropertyId": 30141
|
||||
},
|
||||
{
|
||||
"pattern": "ExpandCollapse",
|
||||
"availabilityPropertyId": 30028
|
||||
},
|
||||
{
|
||||
"pattern": "Grid",
|
||||
"availabilityPropertyId": 30030
|
||||
},
|
||||
{
|
||||
"pattern": "GridItem",
|
||||
"availabilityPropertyId": 30029
|
||||
},
|
||||
{
|
||||
"pattern": "Invoke",
|
||||
"availabilityPropertyId": 30031
|
||||
},
|
||||
{
|
||||
"pattern": "ItemContainer",
|
||||
"availabilityPropertyId": 30108
|
||||
},
|
||||
{
|
||||
"pattern": "LegacyIAccessible",
|
||||
"availabilityPropertyId": 30090
|
||||
},
|
||||
{
|
||||
"pattern": "MultipleView",
|
||||
"availabilityPropertyId": 30032
|
||||
},
|
||||
{
|
||||
"pattern": "ObjectModel",
|
||||
"availabilityPropertyId": 30112
|
||||
},
|
||||
{
|
||||
"pattern": "RangeValue",
|
||||
"availabilityPropertyId": 30033
|
||||
},
|
||||
{
|
||||
"pattern": "Scroll",
|
||||
"availabilityPropertyId": 30034
|
||||
},
|
||||
{
|
||||
"pattern": "ScrollItem",
|
||||
"availabilityPropertyId": 30035
|
||||
},
|
||||
{
|
||||
"pattern": "Selection",
|
||||
"availabilityPropertyId": 30037
|
||||
},
|
||||
{
|
||||
"pattern": "Selection2",
|
||||
"availabilityPropertyId": 30168
|
||||
},
|
||||
{
|
||||
"pattern": "SelectionItem",
|
||||
"availabilityPropertyId": 30036
|
||||
},
|
||||
{
|
||||
"pattern": "Spreadsheet",
|
||||
"availabilityPropertyId": 30128
|
||||
},
|
||||
{
|
||||
"pattern": "SpreadsheetItem",
|
||||
"availabilityPropertyId": 30132
|
||||
},
|
||||
{
|
||||
"pattern": "Styles",
|
||||
"availabilityPropertyId": 30127
|
||||
},
|
||||
{
|
||||
"pattern": "SynchronizedInput",
|
||||
"availabilityPropertyId": 30110
|
||||
},
|
||||
{
|
||||
"pattern": "Table",
|
||||
"availabilityPropertyId": 30038
|
||||
},
|
||||
{
|
||||
"pattern": "TableItem",
|
||||
"availabilityPropertyId": 30039
|
||||
},
|
||||
{
|
||||
"pattern": "Text",
|
||||
"availabilityPropertyId": 30040
|
||||
},
|
||||
{
|
||||
"pattern": "Text2",
|
||||
"availabilityPropertyId": 30119
|
||||
},
|
||||
{
|
||||
"pattern": "TextChild",
|
||||
"availabilityPropertyId": 30136
|
||||
},
|
||||
{
|
||||
"pattern": "TextEdit",
|
||||
"availabilityPropertyId": 30149
|
||||
},
|
||||
{
|
||||
"pattern": "Toggle",
|
||||
"availabilityPropertyId": 30041
|
||||
},
|
||||
{
|
||||
"pattern": "Transform",
|
||||
"availabilityPropertyId": 30042
|
||||
},
|
||||
{
|
||||
"pattern": "Transform2",
|
||||
"availabilityPropertyId": 30134
|
||||
},
|
||||
{
|
||||
"pattern": "Value",
|
||||
"availabilityPropertyId": 30043
|
||||
},
|
||||
{
|
||||
"pattern": "VirtualizedItem",
|
||||
"availabilityPropertyId": 30109
|
||||
},
|
||||
{
|
||||
"pattern": "Window",
|
||||
"availabilityPropertyId": 30044
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
893
probes/windows/captures/08-uia3-com/ids.json.normalized
Normal file
893
probes/windows/captures/08-uia3-com/ids.json.normalized
Normal file
|
|
@ -0,0 +1,893 @@
|
|||
{
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 4424,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"mode": "ids",
|
||||
"propertyCount": 175,
|
||||
"properties": [
|
||||
{
|
||||
"id": 30000,
|
||||
"programmaticName": "RuntimeId"
|
||||
},
|
||||
{
|
||||
"id": 30001,
|
||||
"programmaticName": "BoundingRectangle"
|
||||
},
|
||||
{
|
||||
"id": 30002,
|
||||
"programmaticName": "ProcessId"
|
||||
},
|
||||
{
|
||||
"id": 30003,
|
||||
"programmaticName": "ControlType"
|
||||
},
|
||||
{
|
||||
"id": 30004,
|
||||
"programmaticName": "LocalizedControlType"
|
||||
},
|
||||
{
|
||||
"id": 30005,
|
||||
"programmaticName": "Name"
|
||||
},
|
||||
{
|
||||
"id": 30006,
|
||||
"programmaticName": "AcceleratorKey"
|
||||
},
|
||||
{
|
||||
"id": 30007,
|
||||
"programmaticName": "AccessKey"
|
||||
},
|
||||
{
|
||||
"id": 30008,
|
||||
"programmaticName": "HasKeyboardFocus"
|
||||
},
|
||||
{
|
||||
"id": 30009,
|
||||
"programmaticName": "IsKeyboardFocusable"
|
||||
},
|
||||
{
|
||||
"id": 30010,
|
||||
"programmaticName": "IsEnabled"
|
||||
},
|
||||
{
|
||||
"id": 30011,
|
||||
"programmaticName": "AutomationId"
|
||||
},
|
||||
{
|
||||
"id": 30012,
|
||||
"programmaticName": "ClassName"
|
||||
},
|
||||
{
|
||||
"id": 30013,
|
||||
"programmaticName": "HelpText"
|
||||
},
|
||||
{
|
||||
"id": 30014,
|
||||
"programmaticName": "ClickablePoint"
|
||||
},
|
||||
{
|
||||
"id": 30015,
|
||||
"programmaticName": "Culture"
|
||||
},
|
||||
{
|
||||
"id": 30016,
|
||||
"programmaticName": "IsControlElement"
|
||||
},
|
||||
{
|
||||
"id": 30017,
|
||||
"programmaticName": "IsContentElement"
|
||||
},
|
||||
{
|
||||
"id": 30018,
|
||||
"programmaticName": "LabeledBy"
|
||||
},
|
||||
{
|
||||
"id": 30019,
|
||||
"programmaticName": "IsPassword"
|
||||
},
|
||||
{
|
||||
"id": 30020,
|
||||
"programmaticName": "NativeWindowHandle"
|
||||
},
|
||||
{
|
||||
"id": 30021,
|
||||
"programmaticName": "ItemType"
|
||||
},
|
||||
{
|
||||
"id": 30022,
|
||||
"programmaticName": "IsOffscreen"
|
||||
},
|
||||
{
|
||||
"id": 30023,
|
||||
"programmaticName": "Orientation"
|
||||
},
|
||||
{
|
||||
"id": 30024,
|
||||
"programmaticName": "FrameworkId"
|
||||
},
|
||||
{
|
||||
"id": 30025,
|
||||
"programmaticName": "IsRequiredForForm"
|
||||
},
|
||||
{
|
||||
"id": 30026,
|
||||
"programmaticName": "ItemStatus"
|
||||
},
|
||||
{
|
||||
"id": 30027,
|
||||
"programmaticName": "IsDockPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30028,
|
||||
"programmaticName": "IsExpandCollapsePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30029,
|
||||
"programmaticName": "IsGridItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30030,
|
||||
"programmaticName": "IsGridPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30031,
|
||||
"programmaticName": "IsInvokePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30032,
|
||||
"programmaticName": "IsMultipleViewPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30033,
|
||||
"programmaticName": "IsRangeValuePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30034,
|
||||
"programmaticName": "IsScrollPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30035,
|
||||
"programmaticName": "IsScrollItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30036,
|
||||
"programmaticName": "IsSelectionItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30037,
|
||||
"programmaticName": "IsSelectionPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30038,
|
||||
"programmaticName": "IsTablePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30039,
|
||||
"programmaticName": "IsTableItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30040,
|
||||
"programmaticName": "IsTextPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30041,
|
||||
"programmaticName": "IsTogglePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30042,
|
||||
"programmaticName": "IsTransformPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30043,
|
||||
"programmaticName": "IsValuePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30044,
|
||||
"programmaticName": "IsWindowPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30045,
|
||||
"programmaticName": "ValuePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30046,
|
||||
"programmaticName": "ValuePattern.IsReadOnly"
|
||||
},
|
||||
{
|
||||
"id": 30047,
|
||||
"programmaticName": "RangeValuePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30048,
|
||||
"programmaticName": "RangeValuePattern.IsReadOnly"
|
||||
},
|
||||
{
|
||||
"id": 30049,
|
||||
"programmaticName": "RangeValuePattern.Minimum"
|
||||
},
|
||||
{
|
||||
"id": 30050,
|
||||
"programmaticName": "RangeValuePattern.Maximum"
|
||||
},
|
||||
{
|
||||
"id": 30051,
|
||||
"programmaticName": "RangeValuePattern.LargeChange"
|
||||
},
|
||||
{
|
||||
"id": 30052,
|
||||
"programmaticName": "RangeValuePattern.SmallChange"
|
||||
},
|
||||
{
|
||||
"id": 30053,
|
||||
"programmaticName": "ScrollPattern.HorizontalScrollPercent"
|
||||
},
|
||||
{
|
||||
"id": 30054,
|
||||
"programmaticName": "ScrollPattern.HorizontalViewSize"
|
||||
},
|
||||
{
|
||||
"id": 30055,
|
||||
"programmaticName": "ScrollPattern.VerticalScrollPercent"
|
||||
},
|
||||
{
|
||||
"id": 30056,
|
||||
"programmaticName": "ScrollPattern.VerticalViewSize"
|
||||
},
|
||||
{
|
||||
"id": 30057,
|
||||
"programmaticName": "ScrollPattern.HorizontallyScrollable"
|
||||
},
|
||||
{
|
||||
"id": 30058,
|
||||
"programmaticName": "ScrollPattern.VerticallyScrollable"
|
||||
},
|
||||
{
|
||||
"id": 30059,
|
||||
"programmaticName": "SelectionPattern.Selection"
|
||||
},
|
||||
{
|
||||
"id": 30060,
|
||||
"programmaticName": "SelectionPattern.CanSelectMultiple"
|
||||
},
|
||||
{
|
||||
"id": 30061,
|
||||
"programmaticName": "SelectionPattern.IsSelectionRequired"
|
||||
},
|
||||
{
|
||||
"id": 30062,
|
||||
"programmaticName": "GridPattern.RowCount"
|
||||
},
|
||||
{
|
||||
"id": 30063,
|
||||
"programmaticName": "GridPattern.ColumnCount"
|
||||
},
|
||||
{
|
||||
"id": 30064,
|
||||
"programmaticName": "GridItemPattern.Row"
|
||||
},
|
||||
{
|
||||
"id": 30065,
|
||||
"programmaticName": "GridItemPattern.Column"
|
||||
},
|
||||
{
|
||||
"id": 30066,
|
||||
"programmaticName": "GridItemPattern.RowSpan"
|
||||
},
|
||||
{
|
||||
"id": 30067,
|
||||
"programmaticName": "GridItemPattern.ColumnSpan"
|
||||
},
|
||||
{
|
||||
"id": 30068,
|
||||
"programmaticName": "GridItemPattern.Parent"
|
||||
},
|
||||
{
|
||||
"id": 30069,
|
||||
"programmaticName": "DockPattern.DockPosition"
|
||||
},
|
||||
{
|
||||
"id": 30070,
|
||||
"programmaticName": "ExpandCollapsePattern.ExpandCollapseState"
|
||||
},
|
||||
{
|
||||
"id": 30071,
|
||||
"programmaticName": "MultipleViewPattern.CurrentView"
|
||||
},
|
||||
{
|
||||
"id": 30072,
|
||||
"programmaticName": "MultipleViewPattern.SupportedViews"
|
||||
},
|
||||
{
|
||||
"id": 30073,
|
||||
"programmaticName": "WindowPattern.CanMaximize"
|
||||
},
|
||||
{
|
||||
"id": 30074,
|
||||
"programmaticName": "WindowPattern.CanMinimize"
|
||||
},
|
||||
{
|
||||
"id": 30075,
|
||||
"programmaticName": "WindowPattern.WindowVisualState"
|
||||
},
|
||||
{
|
||||
"id": 30076,
|
||||
"programmaticName": "WindowPattern.WindowInteractionState"
|
||||
},
|
||||
{
|
||||
"id": 30077,
|
||||
"programmaticName": "WindowPattern.IsModal"
|
||||
},
|
||||
{
|
||||
"id": 30078,
|
||||
"programmaticName": "WindowPattern.IsTopmost"
|
||||
},
|
||||
{
|
||||
"id": 30079,
|
||||
"programmaticName": "SelectionItemPattern.IsSelected"
|
||||
},
|
||||
{
|
||||
"id": 30080,
|
||||
"programmaticName": "SelectionItemPattern.SelectionContainer"
|
||||
},
|
||||
{
|
||||
"id": 30081,
|
||||
"programmaticName": "TablePattern.RowHeaders"
|
||||
},
|
||||
{
|
||||
"id": 30082,
|
||||
"programmaticName": "TablePattern.ColumnHeaders"
|
||||
},
|
||||
{
|
||||
"id": 30083,
|
||||
"programmaticName": "TablePattern.RowOrColumnMajor"
|
||||
},
|
||||
{
|
||||
"id": 30084,
|
||||
"programmaticName": "TableItemPattern.RowHeaderItems"
|
||||
},
|
||||
{
|
||||
"id": 30085,
|
||||
"programmaticName": "TableItemPattern.ColumnHeaderItems"
|
||||
},
|
||||
{
|
||||
"id": 30086,
|
||||
"programmaticName": "TogglePattern.ToggleState"
|
||||
},
|
||||
{
|
||||
"id": 30087,
|
||||
"programmaticName": "TransformPattern.CanMove"
|
||||
},
|
||||
{
|
||||
"id": 30088,
|
||||
"programmaticName": "TransformPattern.CanResize"
|
||||
},
|
||||
{
|
||||
"id": 30089,
|
||||
"programmaticName": "TransformPattern.CanRotate"
|
||||
},
|
||||
{
|
||||
"id": 30090,
|
||||
"programmaticName": "IsLegacyIAccessiblePatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30091,
|
||||
"programmaticName": "LegacyIAccessiblePattern.ChildId"
|
||||
},
|
||||
{
|
||||
"id": 30092,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Name"
|
||||
},
|
||||
{
|
||||
"id": 30093,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Value"
|
||||
},
|
||||
{
|
||||
"id": 30094,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Description"
|
||||
},
|
||||
{
|
||||
"id": 30095,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Role"
|
||||
},
|
||||
{
|
||||
"id": 30096,
|
||||
"programmaticName": "LegacyIAccessiblePattern.State"
|
||||
},
|
||||
{
|
||||
"id": 30097,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Help"
|
||||
},
|
||||
{
|
||||
"id": 30098,
|
||||
"programmaticName": "LegacyIAccessiblePattern.KeyboardShortcut"
|
||||
},
|
||||
{
|
||||
"id": 30099,
|
||||
"programmaticName": "LegacyIAccessiblePattern.Selection"
|
||||
},
|
||||
{
|
||||
"id": 30100,
|
||||
"programmaticName": "LegacyIAccessiblePattern.DefaultAction"
|
||||
},
|
||||
{
|
||||
"id": 30101,
|
||||
"programmaticName": "AriaRole"
|
||||
},
|
||||
{
|
||||
"id": 30102,
|
||||
"programmaticName": "AriaProperties"
|
||||
},
|
||||
{
|
||||
"id": 30103,
|
||||
"programmaticName": "IsDataValidForForm"
|
||||
},
|
||||
{
|
||||
"id": 30104,
|
||||
"programmaticName": "ControllerFor"
|
||||
},
|
||||
{
|
||||
"id": 30105,
|
||||
"programmaticName": "DescribedBy"
|
||||
},
|
||||
{
|
||||
"id": 30106,
|
||||
"programmaticName": "FlowsTo"
|
||||
},
|
||||
{
|
||||
"id": 30107,
|
||||
"programmaticName": "ProviderDescription"
|
||||
},
|
||||
{
|
||||
"id": 30108,
|
||||
"programmaticName": "IsItemContainerPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30109,
|
||||
"programmaticName": "IsVirtualizedItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30110,
|
||||
"programmaticName": "IsSynchronizedInputPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30111,
|
||||
"programmaticName": "OptimizeForVisualContent"
|
||||
},
|
||||
{
|
||||
"id": 30112,
|
||||
"programmaticName": "IsObjectModelPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30113,
|
||||
"programmaticName": "AnnotationPattern.AnnotationTypeId"
|
||||
},
|
||||
{
|
||||
"id": 30114,
|
||||
"programmaticName": "AnnotationPattern.AnnotationTypeName"
|
||||
},
|
||||
{
|
||||
"id": 30115,
|
||||
"programmaticName": "AnnotationPattern.Author"
|
||||
},
|
||||
{
|
||||
"id": 30116,
|
||||
"programmaticName": "AnnotationPattern.DateTime"
|
||||
},
|
||||
{
|
||||
"id": 30117,
|
||||
"programmaticName": "AnnotationPattern.Target"
|
||||
},
|
||||
{
|
||||
"id": 30118,
|
||||
"programmaticName": "IsAnnotationPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30119,
|
||||
"programmaticName": "IsTextPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30120,
|
||||
"programmaticName": "StylesPattern.StyleId"
|
||||
},
|
||||
{
|
||||
"id": 30121,
|
||||
"programmaticName": "StylesPattern.StyleName"
|
||||
},
|
||||
{
|
||||
"id": 30122,
|
||||
"programmaticName": "StylesPattern.FillColor"
|
||||
},
|
||||
{
|
||||
"id": 30123,
|
||||
"programmaticName": "StylesPattern.FillPatternStyle"
|
||||
},
|
||||
{
|
||||
"id": 30124,
|
||||
"programmaticName": "StylesPattern.Shape"
|
||||
},
|
||||
{
|
||||
"id": 30125,
|
||||
"programmaticName": "StylesPattern.FillPatternColor"
|
||||
},
|
||||
{
|
||||
"id": 30126,
|
||||
"programmaticName": "StylesPattern.ExtendedProperties"
|
||||
},
|
||||
{
|
||||
"id": 30127,
|
||||
"programmaticName": "IsStylesPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30128,
|
||||
"programmaticName": "IsSpreadsheetPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30129,
|
||||
"programmaticName": "SpreadsheetItemPattern.Formula"
|
||||
},
|
||||
{
|
||||
"id": 30130,
|
||||
"programmaticName": "SpreadsheetItemPattern.AnnotationObjects"
|
||||
},
|
||||
{
|
||||
"id": 30131,
|
||||
"programmaticName": "SpreadsheetItemPattern.AnnotationTypes"
|
||||
},
|
||||
{
|
||||
"id": 30132,
|
||||
"programmaticName": "IsSpreadsheetItemPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30133,
|
||||
"programmaticName": "TransformPattern2.CanZoom"
|
||||
},
|
||||
{
|
||||
"id": 30134,
|
||||
"programmaticName": "IsTransformPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30135,
|
||||
"programmaticName": "LiveSetting"
|
||||
},
|
||||
{
|
||||
"id": 30136,
|
||||
"programmaticName": "IsTextChildPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30137,
|
||||
"programmaticName": "IsDragPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30138,
|
||||
"programmaticName": "Drag.IsGrabbed"
|
||||
},
|
||||
{
|
||||
"id": 30139,
|
||||
"programmaticName": "Drag.DropEffect"
|
||||
},
|
||||
{
|
||||
"id": 30140,
|
||||
"programmaticName": "Drag.DropEffects"
|
||||
},
|
||||
{
|
||||
"id": 30141,
|
||||
"programmaticName": "IsDropTargetPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30142,
|
||||
"programmaticName": "DropTarget.DropTargetEffect"
|
||||
},
|
||||
{
|
||||
"id": 30143,
|
||||
"programmaticName": "DropTarget.DropTargetEffects"
|
||||
},
|
||||
{
|
||||
"id": 30144,
|
||||
"programmaticName": "Drag.GrabbedItems"
|
||||
},
|
||||
{
|
||||
"id": 30145,
|
||||
"programmaticName": "TransformPattern2.ZoomLevel"
|
||||
},
|
||||
{
|
||||
"id": 30146,
|
||||
"programmaticName": "TransformPattern2.ZoomMinimum"
|
||||
},
|
||||
{
|
||||
"id": 30147,
|
||||
"programmaticName": "TransformPattern2.ZoomMaximum"
|
||||
},
|
||||
{
|
||||
"id": 30148,
|
||||
"programmaticName": "FlowsFrom"
|
||||
},
|
||||
{
|
||||
"id": 30149,
|
||||
"programmaticName": "IsTextEditPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30150,
|
||||
"programmaticName": "IsPeripheral"
|
||||
},
|
||||
{
|
||||
"id": 30151,
|
||||
"programmaticName": "IsCustomNavigationPatternAvailable"
|
||||
},
|
||||
{
|
||||
"id": 30152,
|
||||
"programmaticName": "PositionInSet"
|
||||
},
|
||||
{
|
||||
"id": 30153,
|
||||
"programmaticName": "SizeOfSet"
|
||||
},
|
||||
{
|
||||
"id": 30154,
|
||||
"programmaticName": "Level"
|
||||
},
|
||||
{
|
||||
"id": 30155,
|
||||
"programmaticName": "AnnotationTypes"
|
||||
},
|
||||
{
|
||||
"id": 30156,
|
||||
"programmaticName": "AnnotationObjects"
|
||||
},
|
||||
{
|
||||
"id": 30157,
|
||||
"programmaticName": "LandmarkType"
|
||||
},
|
||||
{
|
||||
"id": 30158,
|
||||
"programmaticName": "LocalizedLandmarkType"
|
||||
},
|
||||
{
|
||||
"id": 30159,
|
||||
"programmaticName": "FullDescription"
|
||||
},
|
||||
{
|
||||
"id": 30160,
|
||||
"programmaticName": "FillColor"
|
||||
},
|
||||
{
|
||||
"id": 30161,
|
||||
"programmaticName": "OutlineColor"
|
||||
},
|
||||
{
|
||||
"id": 30162,
|
||||
"programmaticName": "FillType"
|
||||
},
|
||||
{
|
||||
"id": 30163,
|
||||
"programmaticName": "VisualEffects"
|
||||
},
|
||||
{
|
||||
"id": 30164,
|
||||
"programmaticName": "OutlineThickness"
|
||||
},
|
||||
{
|
||||
"id": 30165,
|
||||
"programmaticName": "CenterPoint"
|
||||
},
|
||||
{
|
||||
"id": 30166,
|
||||
"programmaticName": "Rotation"
|
||||
},
|
||||
{
|
||||
"id": 30167,
|
||||
"programmaticName": "Size"
|
||||
},
|
||||
{
|
||||
"id": 30168,
|
||||
"programmaticName": "IsSelectionPattern2Available"
|
||||
},
|
||||
{
|
||||
"id": 30169,
|
||||
"programmaticName": "Selection2.FirstSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30170,
|
||||
"programmaticName": "Selection2.LastSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30171,
|
||||
"programmaticName": "Selection2.CurrentSelectedItem"
|
||||
},
|
||||
{
|
||||
"id": 30172,
|
||||
"programmaticName": "Selection2.ItemCount"
|
||||
},
|
||||
{
|
||||
"id": 30173,
|
||||
"programmaticName": "HeadingLevel"
|
||||
},
|
||||
{
|
||||
"id": 30174,
|
||||
"programmaticName": "IsDialog"
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"10000=InvokePattern",
|
||||
"10001=SelectionPattern",
|
||||
"10002=ValuePattern",
|
||||
"10003=RangeValuePattern",
|
||||
"10004=ScrollPattern",
|
||||
"10005=ExpandCollapsePattern",
|
||||
"10006=GridPattern",
|
||||
"10007=GridItemPattern",
|
||||
"10008=MultipleViewPattern",
|
||||
"10009=WindowPattern",
|
||||
"10010=SelectionItemPattern",
|
||||
"10011=DockPattern",
|
||||
"10012=TablePattern",
|
||||
"10013=TableItemPattern",
|
||||
"10014=TextPattern",
|
||||
"10015=TogglePattern",
|
||||
"10016=TransformPattern",
|
||||
"10017=ScrollItemPattern",
|
||||
"10018=LegacyIAccessiblePattern",
|
||||
"10019=ItemContainerPattern",
|
||||
"10020=VirtualizedItemPattern",
|
||||
"10021=SynchronizedInputPattern",
|
||||
"10022=ObjectModelPattern",
|
||||
"10023=AnnotationPattern",
|
||||
"10024=TextPattern2",
|
||||
"10025=StylesPattern",
|
||||
"10026=SpreadsheetPattern",
|
||||
"10027=SpreadsheetItemPattern",
|
||||
"10028=TransformPattern2",
|
||||
"10029=TextChildPattern",
|
||||
"10030=DragPattern",
|
||||
"10031=DropTargetPattern",
|
||||
"10032=TextEditPattern",
|
||||
"10033=CustomNavigationPattern",
|
||||
"10034=SelectionPattern2"
|
||||
],
|
||||
"patternAvailabilityProperties": [
|
||||
{
|
||||
"pattern": "Annotation",
|
||||
"availabilityPropertyId": 30118
|
||||
},
|
||||
{
|
||||
"pattern": "CustomNavigation",
|
||||
"availabilityPropertyId": 30151
|
||||
},
|
||||
{
|
||||
"pattern": "Dock",
|
||||
"availabilityPropertyId": 30027
|
||||
},
|
||||
{
|
||||
"pattern": "Drag",
|
||||
"availabilityPropertyId": 30137
|
||||
},
|
||||
{
|
||||
"pattern": "DropTarget",
|
||||
"availabilityPropertyId": 30141
|
||||
},
|
||||
{
|
||||
"pattern": "ExpandCollapse",
|
||||
"availabilityPropertyId": 30028
|
||||
},
|
||||
{
|
||||
"pattern": "Grid",
|
||||
"availabilityPropertyId": 30030
|
||||
},
|
||||
{
|
||||
"pattern": "GridItem",
|
||||
"availabilityPropertyId": 30029
|
||||
},
|
||||
{
|
||||
"pattern": "Invoke",
|
||||
"availabilityPropertyId": 30031
|
||||
},
|
||||
{
|
||||
"pattern": "ItemContainer",
|
||||
"availabilityPropertyId": 30108
|
||||
},
|
||||
{
|
||||
"pattern": "LegacyIAccessible",
|
||||
"availabilityPropertyId": 30090
|
||||
},
|
||||
{
|
||||
"pattern": "MultipleView",
|
||||
"availabilityPropertyId": 30032
|
||||
},
|
||||
{
|
||||
"pattern": "ObjectModel",
|
||||
"availabilityPropertyId": 30112
|
||||
},
|
||||
{
|
||||
"pattern": "RangeValue",
|
||||
"availabilityPropertyId": 30033
|
||||
},
|
||||
{
|
||||
"pattern": "Scroll",
|
||||
"availabilityPropertyId": 30034
|
||||
},
|
||||
{
|
||||
"pattern": "ScrollItem",
|
||||
"availabilityPropertyId": 30035
|
||||
},
|
||||
{
|
||||
"pattern": "Selection",
|
||||
"availabilityPropertyId": 30037
|
||||
},
|
||||
{
|
||||
"pattern": "Selection2",
|
||||
"availabilityPropertyId": 30168
|
||||
},
|
||||
{
|
||||
"pattern": "SelectionItem",
|
||||
"availabilityPropertyId": 30036
|
||||
},
|
||||
{
|
||||
"pattern": "Spreadsheet",
|
||||
"availabilityPropertyId": 30128
|
||||
},
|
||||
{
|
||||
"pattern": "SpreadsheetItem",
|
||||
"availabilityPropertyId": 30132
|
||||
},
|
||||
{
|
||||
"pattern": "Styles",
|
||||
"availabilityPropertyId": 30127
|
||||
},
|
||||
{
|
||||
"pattern": "SynchronizedInput",
|
||||
"availabilityPropertyId": 30110
|
||||
},
|
||||
{
|
||||
"pattern": "Table",
|
||||
"availabilityPropertyId": 30038
|
||||
},
|
||||
{
|
||||
"pattern": "TableItem",
|
||||
"availabilityPropertyId": 30039
|
||||
},
|
||||
{
|
||||
"pattern": "Text",
|
||||
"availabilityPropertyId": 30040
|
||||
},
|
||||
{
|
||||
"pattern": "Text2",
|
||||
"availabilityPropertyId": 30119
|
||||
},
|
||||
{
|
||||
"pattern": "TextChild",
|
||||
"availabilityPropertyId": 30136
|
||||
},
|
||||
{
|
||||
"pattern": "TextEdit",
|
||||
"availabilityPropertyId": 30149
|
||||
},
|
||||
{
|
||||
"pattern": "Toggle",
|
||||
"availabilityPropertyId": 30041
|
||||
},
|
||||
{
|
||||
"pattern": "Transform",
|
||||
"availabilityPropertyId": 30042
|
||||
},
|
||||
{
|
||||
"pattern": "Transform2",
|
||||
"availabilityPropertyId": 30134
|
||||
},
|
||||
{
|
||||
"pattern": "Value",
|
||||
"availabilityPropertyId": 30043
|
||||
},
|
||||
{
|
||||
"pattern": "VirtualizedItem",
|
||||
"availabilityPropertyId": 30109
|
||||
},
|
||||
{
|
||||
"pattern": "Window",
|
||||
"availabilityPropertyId": 30044
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
71
probes/windows/captures/08-uia3-com/walker.json
Normal file
71
probes/windows/captures/08-uia3-com/walker.json
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"target": "obsidian",
|
||||
"obsidianPreexisting": false,
|
||||
"obsidianVersion": "1.12.7.0",
|
||||
"shim": {
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 7856,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"settleMs": 8000,
|
||||
"viewsFirstContact": [
|
||||
{
|
||||
"view": "RawView",
|
||||
"nodeCount": 13,
|
||||
"deepestDepth": 9,
|
||||
"truncated": false,
|
||||
"elapsedMs": 16.7195
|
||||
},
|
||||
{
|
||||
"view": "ControlView",
|
||||
"nodeCount": 9,
|
||||
"deepestDepth": 7,
|
||||
"truncated": false,
|
||||
"elapsedMs": 12.3082
|
||||
},
|
||||
{
|
||||
"view": "ContentView",
|
||||
"nodeCount": 9,
|
||||
"deepestDepth": 7,
|
||||
"truncated": false,
|
||||
"elapsedMs": 11.4191
|
||||
}
|
||||
],
|
||||
"mode": "walker",
|
||||
"label": "obsidian",
|
||||
"hwnd": "0x1e0634",
|
||||
"processId": 2056,
|
||||
"processName": "Obsidian",
|
||||
"frameworkId": "Win32",
|
||||
"maxNodes": 20000,
|
||||
"maxDepth": 60,
|
||||
"viewsAfterSettle": [
|
||||
{
|
||||
"view": "RawView",
|
||||
"nodeCount": 172,
|
||||
"deepestDepth": 21,
|
||||
"truncated": false,
|
||||
"elapsedMs": 108.6732
|
||||
},
|
||||
{
|
||||
"view": "ControlView",
|
||||
"nodeCount": 133,
|
||||
"deepestDepth": 14,
|
||||
"truncated": false,
|
||||
"elapsedMs": 84.0019
|
||||
},
|
||||
{
|
||||
"view": "ContentView",
|
||||
"nodeCount": 133,
|
||||
"deepestDepth": 14,
|
||||
"truncated": false,
|
||||
"elapsedMs": 85.683
|
||||
}
|
||||
],
|
||||
"rawMinusControl": 39
|
||||
}
|
||||
}
|
||||
}
|
||||
71
probes/windows/captures/08-uia3-com/walker.json.normalized
Normal file
71
probes/windows/captures/08-uia3-com/walker.json.normalized
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"target": "obsidian",
|
||||
"obsidianPreexisting": false,
|
||||
"obsidianVersion": "1.12.7.0",
|
||||
"shim": {
|
||||
"stack": "uia3-com",
|
||||
"binding": "hand-declared ComImport, no GAC UIAutomationClient reference",
|
||||
"coclass": "CUIAutomation8",
|
||||
"mainThreadId": 7856,
|
||||
"mainApartment": "MTA",
|
||||
"discoveredPatternAvailabilityProperties": 35,
|
||||
"result": {
|
||||
"settleMs": 8000,
|
||||
"viewsFirstContact": [
|
||||
{
|
||||
"view": "RawView",
|
||||
"nodeCount": 13,
|
||||
"deepestDepth": 9,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"view": "ControlView",
|
||||
"nodeCount": 9,
|
||||
"deepestDepth": 7,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"view": "ContentView",
|
||||
"nodeCount": 9,
|
||||
"deepestDepth": 7,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
],
|
||||
"mode": "walker",
|
||||
"label": "obsidian",
|
||||
"hwnd": "<hwnd>",
|
||||
"processId": <pid>,
|
||||
"processName": "Obsidian",
|
||||
"frameworkId": "Win32",
|
||||
"maxNodes": 20000,
|
||||
"maxDepth": 60,
|
||||
"viewsAfterSettle": [
|
||||
{
|
||||
"view": "RawView",
|
||||
"nodeCount": 172,
|
||||
"deepestDepth": 21,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"view": "ControlView",
|
||||
"nodeCount": 133,
|
||||
"deepestDepth": 14,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
},
|
||||
{
|
||||
"view": "ContentView",
|
||||
"nodeCount": 133,
|
||||
"deepestDepth": 14,
|
||||
"truncated": false,
|
||||
"elapsedMs": <duration>
|
||||
}
|
||||
],
|
||||
"rawMinusControl": 39
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue