Merge nucleic/lucid-river-toad-6efj into dev

This commit is contained in:
2026-07-29 03:20:15 -07:00
parent df63a5fc00
commit 8f081ab58a
2 changed files with 10 additions and 2 deletions
+6 -1
View File
@@ -123,7 +123,12 @@ CLSID in it, so `CoCreateInstance` has nothing to name. The only registered cocl
IDLs belong to the compat surface (`WSLCCompatSessionManager` and its factory) and to the WSL
service proper (`LxssUserSession`, `LxssUserSessionInBox`).
The likely answer is that one of those objects also implements the internal interface — COM
**Answered on hardware (WSL 2.9.4): yes.** `WSLCCompatSessionManager`
(`a9b7a1b9-0671-405c-95f1-e0612cb4ce8f`) — the same class the SDK itself activates — answers a QI
for `IWSLCSessionManager`. One object, two faces. `IWSLCVirtualMachine` was refused by every
class, confirming §13.1's retraction against the machine rather than against an IDL.
The hypothesis was that one of those objects also implements the internal interface — COM
objects routinely expose several — so `--internal` activates each and QIs for the internal IIDs.
It **never calls a method**, so a vtable mismatch cannot crash it, and QI alone answers the
question. `--internal-call` then calls `GetVersion` (slot 3) and `ListSessions` to confirm the