Wenn man sich einmal fragt was bei Verwendung von Var, Out etc. passiert liegt die Lösung auf der Hand (wurde auch bereits gepostet). Ein by-Reference übergebener Wert ist nichts anderes als das ein Pointer auf den Wert übergeben wird.
Hast du also beispielsweise eine Funktion in einer
DLL welche einen Var-parameter erwartet kannst du die Funktion außerhalb auch mit einem Pointerparameter definieren. Und Rückgabewerte von Funktionen können natürlich auch Pointer-Typen sein