Make mscom::Interceptor use OICF metadata instead of typelib metadata

NEW
Unassigned

Status

()

Core
IPC
P3
normal
9 months ago
4 months ago

People

(Reporter: aklotz, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
Unspecified
Windows
Points:
---

Firefox Tracking Flags

(firefox55 affected)

Details

(Reporter)

Description

9 months ago
This would significantly reduce the maintenance burden for consumers of this library (particularly a11y).

I think that I should fix this before moving on to non-a11y work, as this would eliminate a whole bunch of esoteric crap such as ArrayData and typelibs.

This stems from some discoveries I made about how CoGetInterceptor works. In order to use OICF info, we need to do a few things:

1) Specify InterfaceHelperUser registry values;
2) Ensure that proxies are constructed via ole32!ComPs_NdrDllGetClassObject instead of rpcrt4!NdrDllGetClassObject.
(Reporter)

Comment 1

9 months ago
A couple of challenges that make this project less than straightforward:

1) I don't think we should be setting InterfaceHelperUser registry values globally; this type of stuff should exist only within our own process;
2) We don't control all of the affected proxy DLLs that need alternate construction.

Updated

4 months ago
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.