bits[1/3]: Minimal Background Intelligent Transfer Service (bits) implementation
roy at cs.hmc.edu
Thu Sep 27 12:21:22 CDT 2007
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 at 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
Bitsprx2.dll -> Base version of bits that I'm trying to implement for
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
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!
More information about the wine-devel