You can use the predefined WinAPI types:
short foo(variant* a, longlong* b, short* c);
function foo(var a: OleVariant;
var b: LongLong;
var c: Smallint); Smallint;
procedure FooTest;
var
a: OleVariant;
b: LongLong;
c, RetVal: ShmallInt;
begin
Retval := foo(a, b, c);
end;
LongLongdefined in Windows.pas, along with many, many other WinAPI-compatible types. (At least they are in the module Windowsthrough Delphi XE, XE2, they may have moved some of them due to cross-platform and 64-bit related moves.)
// Windows.pas definition (Delphi 2010)
type
LONGLONG = int64;
, LongLong ++. , , , ++, WinAPI ( ).