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
