Archive of UserLand's first discussion group, started October 5, 1998.

Re: HTML engines in OSes -- what does that mean ?

Author:Bob Atkinson
Posted:6/3/1999; 1:50:41 PM
Topic:HTML engines in OSes
Msg #:6992 (In response to 6979)
Prev/Next:6991 / 6993

In COM, the "TreatAs" registration facility (see, e.g., CoGetTreatAs) was designed to address the CLSID aliasing issue, allowing one CLSID to be redirected to another. This facility has been there since the original April '93 COM release, and I believe it still functions correctly, though haven't checked in quite a while.

The larger point at issue in this thread, though, is actually the need to create several different names for a service being offered. Contrast for example names that amount to "Default HTML service on this machine for this user" vs "the specific MSIE v5.00 service". All the mechanisms necessary are there with CLSIDs to support this sort of variation (just different CLSIDs for each name), and historically some components have availed themselves of this mechanism (though apparently not IE it would seem; I wish it did).

However, the really hard part in carrying this out is coming up with up front the specific set of separate names that you'd want to register under. Invariably, some client will want to think of his connection to you in some manner you did not anticipate, and you're stuck again. In some sense, this is the "exactly what is it about you that I do in fact depend on" problem that you touch on in bullet 1).

Even if you do that right, you will still be faced with clients that ship and appear to work just fine but in fact are asking for your service under the wrong name for their use of you, and thus get broken if the registered implementations start to diverge under the different names. Testing in this sort of component world remains an unsolved problem.




This page was archived on 6/13/2001; 4:50:35 PM.

© Copyright 1998-2001 UserLand Software, Inc.