Repository navigation
Expand file tree
/
Copy pathContextMenuDeepAnalysisContracts.cs
More file actions
118 lines (66 loc) · 3.07 KB
/
Copy pathContextMenuDeepAnalysisContracts.cs
File metadata and controls
118 lines (66 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
namespace ContextMenuMgr.Contracts;
public enum ContextMenuDeepAnalysisProbeMode
{
SpecificHandler = 0,
WholeContextMenu = 1
}
public sealed record ContextMenuDeepAnalysisRequest
{
public Guid OperationId { get; init; }
public string ItemId { get; init; } = string.Empty;
public string DisplayName { get; init; } = string.Empty;
public ContextMenuCategory Category { get; init; }
public ContextMenuEntryKind EntryKind { get; init; }
public string? HandlerClsid { get; init; }
public string? HandlerFilePath { get; init; }
public string? RegistryPath { get; init; }
public string? BackendRegistryPath { get; init; }
public string? CommandText { get; init; }
public bool IncludeExtendedVerbs { get; init; }
public string? SamplePath { get; init; }
public ContextMenuDeepAnalysisProbeMode ProbeMode { get; init; } = ContextMenuDeepAnalysisProbeMode.SpecificHandler;
}
public sealed record ContextMenuDeepAnalysisResult
{
public Guid OperationId { get; init; }
public bool Success { get; init; }
public string? ErrorCode { get; init; }
public string? Message { get; init; }
public string? DisplayName { get; init; }
public string? HandlerClsid { get; init; }
public string? HandlerFilePath { get; init; }
public string? SamplePath { get; init; }
public string? ProbeHostProcessArchitecture { get; init; }
public string? OSArchitecture { get; init; }
public bool Is64BitProcess { get; init; }
public bool HandlerFileExists { get; init; }
public string? HandlerFileMachineType { get; init; }
public string? HandlerMachineType { get; init; }
public string? HandlerMachineRawValue { get; init; }
public string? SelectedProbeHostArchitecture { get; init; }
public string? SelectedProbeHostPath { get; init; }
public string? ActualProbeHostMachineType { get; init; }
public string? ArchitectureSelectionReason { get; init; }
public string? FrontendProcessArchitecture { get; init; }
public string? ArchitectureCompatibility { get; init; }
public string? DiagnosticDetails { get; init; }
public ContextMenuDeepAnalysisProbeMode ProbeMode { get; init; }
public bool IsSpecificHandlerResult { get; init; }
public bool IsWholeContextMenuResult { get; init; }
public bool SpecificHandlerFailedButWholeContextAvailable { get; init; }
public string? SpecificHandlerFailureCode { get; init; }
public string? SpecificHandlerFailureMessage { get; init; }
public IReadOnlyList<ContextMenuDeepAnalysisMenuItem> Items { get; init; } = [];
}
public sealed record ContextMenuDeepAnalysisMenuItem
{
public string? RawText { get; init; }
public string? Text { get; init; }
public string? CanonicalVerb { get; init; }
public string? HelpText { get; init; }
public string? IconPngBase64 { get; init; }
public int CommandOffset { get; init; }
public bool IsSeparator { get; init; }
public bool IsSubmenu { get; init; }
public IReadOnlyList<ContextMenuDeepAnalysisMenuItem> Children { get; init; } = [];
}