INVALID_HANDLE_VALUEの値
FreePascalで(JEDI API HEADERの)INVALID_HANDLE_VALUEの値がどうなるのか見てみた。
環境:LinuxMint 12 64bit / FreePascal 2.6.0
コード
program aaa; {$MODE OBJFPC} uses JwaWinBase; begin WriteLn(SizeOf(INVALID_HANDLE_VALUE)); WriteLn(SizeOf(Int64)); end;
コンパイル
$ fpc aaa.lpr -Twin64 -Fu(PATH)/jediapi/Win32API -Fu(PATH of Win64 units)
実行してみる(Windows7 64bit on VirtualBox)
$ aaa.exe 8 8
コマンドプロンプトで実行したら8バイトだった。
JwaWinBase.pasに条件付きでHANDLE = LongWordとか書いてあったと思うんだけど……
OBJFPCモードでもDELPHIモードと同じ状態になるのかな?その場合は確かWindows.Handleだったような。
そっち側で32bit/64bit変えてるのかな。 ……LongWordって符号なし32bitだったよね?汎用型じゃなかったよね?