It's the only multi-platform way. It also has the advantage of supporting third-party PCI buses, some of which require NDAs or are no longer supported by their original manufacturer. EDIT: Note that it won't allow you to do things that aren't supported by the native API or hardware, e.g. DMA to system memory on a Mediator.