Windows Scripting: GetTempName では一意性は保証されない

Microsoft Scripting Runtime の FileSystemObject には、一時ファイルの名前をランダムに作成する GetTempName というメソッドがある。が、この関数が返すファイル名は、ほんとに「ランダム」なので、重複の可能性がある。メソッドに生成先のパスさえ渡してないので前々から怪しいとは思っていたのだが、実際に一時ファイル名を大量に生産してみたら、平均で 900 回目程度、早いときでは 300 回目程度で重複が発生した。たぶん、Win32 APIGetTempFileName 関数にランダムな整数を渡してる、ってとこじゃないかと思う。
ということは、GetTempFileName 関数に 0 を渡した時に相当する「実際にファイルが作れるまでランダム生成を繰り返す」というロジックを、書いてやらなければならない、ということだ。
ちなみに、Javajava.io.File#createTempFile は、上記の GetTempFileName に 0 を渡した時と同じで、指定されたディレクトリにからファイルを実際に作成するので、一意性は保証される。