Hello,

I'm new here, and I'm having trouble finding the documentation regarding the
way object-oriented classes and interfaces are handled in virtualbox. I'm
interested in the Storage subsystem, and I understand the code itself and
the syscalls well enough, but I don't have a clue how the interfaces are
defined.

The code I'm having difficulty with is code like :

/** Makes a PDRVHOSTBASE out of a PPDMIMOUNT. */
#define PDMIMOUNT_2_DRVHOSTBASE(pInterface)        (
(PDRVHOSTBASE)((uintptr_t)pInterface - RT_OFFSETOF(DRVHOSTBASE, IMount)) )

/** Makes a PDRVHOSTBASE out of a PPDMIBLOCK. */
#define PDMIBLOCK_2_DRVHOSTBASE(pInterface)        (
(PDRVHOSTBASE)((uintptr_t)pInterface - RT_OFFSETOF(DRVHOSTBASE, IBlock)) )

How are the objects defined ? How are the conversions handled ?

Cheers,

Wapper
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to