Open Bug 1346957 Opened 7 years ago Updated 2 years ago

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

Categories

(Core :: IPC, enhancement, P3)

Unspecified
Windows
enhancement

Tracking

()

Tracking Status
firefox55 --- affected

People

(Reporter: bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

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.
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.
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.