Howdy, On Thu, Sep 27, 2007 at 02:55:40PM +0200, Stefan D?singer wrote:
Am Donnerstag, 27. September 2007 12:58:46 schrieb Alexandre Julliard:
Roy Shea <roy(a)cs.hmc.edu> writes:
Resubmission of a bare bones bits implementation.
There is no bits.dll on any Windows version I've checked. Where does this dll come from? It is an extra download, but requires a WGA check.
Argh! My bad. I just finished looking into this a bit more and here is my current understanding. You can download "bits" from Microsoft, but I don't think you are going to get a bits.dll out of it. The dll that I'm working on is intended to stand in for the collection of dlls available at http://support.microsoft.com/?kbid=923845, although most Windows users should already have the dlls: Qmgr.dll -> Very old version of bits that appears to be heading towards deprecation. Bitsprx2.dll -> Base version of bits that I'm trying to implement for wine. Bitsprx3.dll -> Version 2.0 of bits adding features to the base version (gotta love the off by one numbering scheme!). Bitsprx4.dll -> Newest extensions to bits available on some systems. As far as I can tell the Bitsprx2.dll is generated from Bits.Idl, that is equivalent to the bits.idl I'm developing. Since my dll is not acting as a proxy, at least as I understand proxy dlls (I'm still digging through COM books), I thought it would be more accurate to not include the "prx" in the name of my dll. Simply changing the name from bits.dll to bitsprx2.dll is easy enough, but I worry that the semantics between a regular dll and a proxy dll would cause confusion or problems. My understanding of proxies is that they allow "cross-apartment access" to a COM object. Ideally, I'd like to first get in process support of bits (CLSCTX_INPROC_SERVER object instantiation), and then worry about support across apartments. I am new to both COM and Wine and I may be a bit off in my understanding of some of these points. I would love any advice on how to get my current code in shape for Wine. In particular, should I provide a full proxy version of bits and resubmit it as Bitsprx2.dll or should I introduce basic functionality first, perhaps through bits.dll or something else, and then jump in on the proxy code. Thanks for the advice! -Roy