"var x: TIrgendeinTyp" nervt nicht nur, es verhindert auch das man da gezielt mal "nil" übergeben kann...
-> NIL/NULL als Parameter ist bei vielen
WinApi Funktionen für Pointer erlaubt und hat da funktionsabhängig auch durchaus sinnvolle Bedeutungen und Sonderfunktionsfälle, welche einem per "var" in Delphi versperrt werden.
Verhindert und versperrt wird da gar nichts. Wo ein Wille ist, ist auch ein Weg:
GetDiskFreeSpaceEx('C:\', PLargeInteger(nil)^, PLargeInteger(nil)^, nil);