Merge nucleic/lucid-river-toad-6efj into dev
This commit is contained in:
+6
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user